
C语言
xiang37
这个作者很懒,什么都没留下…
展开
-
offsetof(TYPE, MEMBER)的宏定义
offsetof(TYPE, MEMBER)该宏在Linux内核代码(版本2.6.22)中定义如下:#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER); 分析:(TYPE *)0,将 0 强制转换为 TYPE 型指针,记 p = (TYPE *)0,p是指向TYPE的指针,它的值是0。那么 p-...原创 2011-09-20 18:00:18 · 148 阅读 · 0 评论 -
C语言相关知识笔记
一、gcnew与new的区别 C /CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了和以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下: 1. gcnew返回的是个句柄(Handle),而new返回的是实际的内存地址. 2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放. 二、fflush(stdin) 清空...原创 2011-10-24 15:01:22 · 113 阅读 · 0 评论 -
在非MFC程序中引用CString
CString在当今软件设计界里还是小有名气的,说它是MFC中使用的最多的类一点也不过,然而在使用sdk编windows程序的时候,确不能利用CString类,只能用sdk的运行时库,比如strlen,strcpy,strstr等等,本文讨论的是在非mfc程序中使用CString类的方法,算是个引子,如果有更好的实现方法,欢迎大家讨论。 为了使用CString类,首先源文件必须是以cp...原创 2011-12-15 14:05:06 · 160 阅读 · 0 评论 -
strerror函数的使用
char * strerror ( int errnum );Get pointer to error message string Interprets the value of errnum generating a string describing the error that usually generates that error number value ...原创 2011-12-26 21:07:45 · 250 阅读 · 0 评论 -
C语言操作符优先级
C语言操作符优先级 优先级运算符含 义要求运算对象的个数结合方向1()[]->.圆括号下标运算符指向结构体成员运算符结构体成员运算符 自左至右2!逻辑非运算符1(单目运算...原创 2012-01-03 00:11:00 · 96 阅读 · 0 评论 -
ESP和EBP指针寄存器
ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1...原创 2011-11-09 13:47:47 · 245 阅读 · 0 评论 -
采用FFmpeg解帧,并保持到JPG格式文件
其实研究这个的目的主要是今后给Java项目使用。好久没看C了,公司业务大部分都是编解码视频的,带着一股冲动研究了一下。懂得了一点皮毛。 首先下载ffmpeg的开发包以及依赖包,当然也可以下载源码。http://ffmpeg.zeranoe.com/builds/ 其次为了编码为JPEG格式的图片,需要下载Independent JPEG Grouphttp://www....原创 2013-12-22 23:56:34 · 828 阅读 · 0 评论