- 博客(24)
- 资源 (4)
- 收藏
- 关注
原创 fifo.c
/* --COPYRIGHT--,BSD * Copyright (c) 2010, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are pe
2016-07-08 21:16:51 413
原创 fifo.h
/* --COPYRIGHT--,BSD * Copyright (c) 2010, Texas Instruments Incorporated * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are pe
2016-07-08 21:16:07 521
原创 OpGuard.hpp
#ifndef __OP_GUARD_HPP__#define __OP_GUARD_HPP__namespace utils {/* * 类功能: * 函数guard的基类,提供了释放guard的公用函数 */class OpGuardBase{public:OpGuardBase() : release_(false){}
2016-07-08 21:12:38 270
原创 gdb调试
当产生core文件时,我们经常要利用gdb对core文件进行分析调试,下面是我总结的一些调试命令:1、调试core#gdb 进程名 core.进程名2、查看堆栈#bt3、查看线程运行状态# i thread4、查看某个线程# t 第几个线程5、查看函数# f 函数名
2015-10-23 18:32:54 315
原创 sqlite常用命令
1、进入数据库#sqlite3 xxx.db2、sqlite3查看所有的表>.table3、查看表的结构>select * from sqlite_master where type="table";4、如果只想查看具体一张表的结构,比如查看emperors表,命令为:>select * from sqlite_master where type="table" and
2015-10-23 18:26:59 730
转载 va_start和va_end使用详解
介绍这两个宏之前先看一下C中传递函数的参数时的用法和原理: 1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(...);void foo(parm_list,...);这种方式和我们以前认识的不大一样,但我们要记住这是C中一种传参的形式,在后面我们就会用到它。2.函数参数的传递原理 函数参数是以数据结构
2015-07-23 11:22:32 8312
转载 FPS的计算方法
FPS是Frame per second的缩写,即每秒的帧数.这一术语广泛的应用于计算机图形学,视频采集,游戏等。这里主要介绍一下视频游戏中的帧率,第一个First person shooter game的帧率只有大概6FPS,但是依然很成功。不过随着硬件设备,尤其是显卡性能的加强,现在游戏的帧率一般在30FPS~100FPS之间。由于每帧图像所消耗的时间不一样,造成帧率是在不断变化的,所以每
2015-05-18 17:29:46 1754
转载 Linux动态库编译
Linux下的动态库以.so为后缀,我也是初次在Linux下使用动态库,写一点入门步骤,以便以后能方便使用。 第一步:编写Linux程序库 文件1.动态库接口文件 //动态库接口文件getmaxlen.h #ifndef _GETMAXLEN_H_ #define _GETMAXLEN_H_ int getMaxLen(int *sel,int N); #endif
2014-04-16 19:44:02 944
转载 #define
1,防止一个头文件被重复包含 #ifndef BODYDEF_H #define BODYDEF_H //头文件内容 #endif 2,得到指定地址上的一个字节或字 #define MEM_B( x ) ( *( (byte *) (x) ) ) #define MEM_W( x ) ( *( (word *) (x) ) ) 3,得到一个field在结
2014-04-10 10:39:28 519
转载 字符,字节和编码
级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。引言“
2014-03-03 18:02:49 645
转载 Ansi、Unicode、UTF8字符串之间的转换和写入文本文件
Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicodeU
2014-03-03 18:01:52 892
转载 ASCII码,Unicode和UTF-8
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字
2014-03-03 10:52:12 765
转载 wireshark使用
阅读目录wireshark介绍wireshark不能做的wireshark VS Fiddler同类的其他工具什么人会用到wiresharkwireshark 开始抓包wireshark 窗口介绍wireshark 显示过滤保存过滤过滤表达式封包列表(Packet List Pane)封包详细信息 (Packet Details Pane)wireshark与对应的OSI七层模型T
2014-01-15 11:32:04 516
转载 FTP文件传输协议
文件传输协议(FTP:File Transfer Protocol)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。 FTP 的主要功能如下:提供文件的共享(计算机程序 / 数据); 支持间接使用远程计算机; 使用户不因各类主机文件存储器系统的
2013-12-31 17:21:03 727
转载 gdb命令
Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。 和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行 在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或
2013-11-11 09:29:37 494
转载 vi命令
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复f
2013-11-08 14:10:06 414
转载 字符串匹配算法总结
我想说一句“我日,我讨厌KMP!”。KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦!老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。其实,比KMP算法速度快的算法大把大把,而且理解起来更简单,为何非要抓住KMP呢?笔试出现字符串模式匹配时直接上sunday算法,既简单又高效,何乐而不为?说实话,想
2013-11-01 16:13:02 653
转载 stl string常用函数
string类的构造函数:string(constchar *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常s
2013-11-01 12:58:31 443
转载 字符串模糊匹配
一.BF算法 BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。 举例说明: S: ababcababa P: ababa BF算法匹配的步骤如下
2013-10-31 16:38:10 3410
转载 opencv2.3.1安装、编译与配置
环境:win8 X64 professional。装有vs2008准备阶段:首先,先去opencv的官网下载opencv的安装包(目前最新版为2.31)传送门:http://www.opencv.org.cn/index.php/Download接着去下载Cmake传送门 http://www.cmake.org/cmake/resources/software
2013-10-14 20:21:10 1664
转载 windows下获取文件夹下的所有文件名
#include "io.h"void getFiles( string path, vector& files ) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo; string p; if((hFile = _findfirst(p.assign(p
2013-10-14 20:07:57 518
转载 堆栈的详细解释
一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放
2013-10-12 10:12:08 2788
原创 获取程序当前目录的方法
方法一: 直接使用argv[0] char chPath[_MAX_PATH]; TcharToChar (argv[0], chPath) ; string strPath(chPath); size_t found = strPath.find_last_of('\\'); strPath = strPath.substr(0, found); 方法二:GetMod
2013-10-11 14:35:40 588
原创 自己写的C++定时器
#头文件CTime.h#ifndef CTIMER_H#define CTIMER_H#include typedef void (*TimerProcFunc)(void* userPtr);class CTimer{public: CTimer(); virtual ~CTimer(); int settimer(unsigned int uElaps,
2013-09-29 23:01:26 681
ffmpeg编译需要的配置包
2015-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人