菜de园子
我的园子,我做主!

随笔分类 -  C与C++

积累学习工作中的问题和方法
ubuntu下《UNIX环境高级编程》(apue.h)编译出错的处理方法
摘要:《unix环境高级编程》的书到了,拿来就开始看,发现第一个ls的程序就卡壳了。说是少了apue.h的头文件,到网上一查,人家说在前言里有源码的下载地址,www.apuebook.com,我很快下了代码,解压后打开在apue.2e中有个include 的文件夹,我在里面找到了apue.h的头文件,编译的时候可以参看gcc的手册,如果代码中没有头文件,可以加头文件的参数及其位置,如下:$ gcc ls1.c -I ../include/(gcc参数手册讲的很详细),这时候编译,又出错了,说是:/tmp/cclCQtbS.o: In function `main':ls1.c:(.text+ 阅读全文
posted @ 2011-03-02 16:34 candycaicai 阅读(1811) 评论(0) 推荐(0)
在ubuntu下编译最简单的c语言程序
摘要:今天边看书,边打算尝试一下,在ubuntu下写个最小的程序试试。建立一个hello.c的文件。1 #include <stdio.h> 2 int main(void)3 {4 printf("hello!\n");5 printf("hello world from process id is %d\n",getpid());6 return 0;7 }但是在终端用gcc 编译,去说没有头文件,之后才发现是因为没有装c的标准库的原因。安装 g++, sudo apt-get install g++Ubuntu就安裝g++后,stdio.h就 阅读全文
posted @ 2011-03-01 18:05 candycaicai 阅读(2711) 评论(0) 推荐(0)
迅雷开放了下载引擎
摘要:迅雷开放了下载引擎,还有源代码,还是值得学习一下的。 相关信息都在http://xldoc.xl7.xunlei.com/ 我下载了demo的代码,还不错。 阅读全文
posted @ 2011-03-01 10:16 candycaicai 阅读(664) 评论(0) 推荐(0)
线程与线程句柄
摘要:今天温习很久前写的代码,发现自己写的这么一句代码, m_hTheard = CreateThread(NULL,0,RegNotifyProc,LPVOID(this),0,NULL);CloseHandle(m_hTheard); 突然给糊涂了,刚创建的线程,为什么有close了,还是当初入门不踏实,没有细想,现在反过来都记不得了,通过查资料,解决了我的疑惑。 1,线程和线程句柄(Handle)... 阅读全文
posted @ 2011-02-23 18:14 candycaicai 阅读(4204) 评论(0) 推荐(0)
对字节大端对齐和小端对齐的理解
摘要:做音频视频处理的过程中,经常看到文档中写着LITTLE ENDIAN或者BIG ENDIAN unsigned integer的文字,其实就是告诉我们用大端或者小端方式处理字节数,例如文件的某一处的16进制数为FF 10 00 00,如果按照 大端模式:数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中,这种存储模式就类似把数据当做字符串顺序处理,例如:数据中两个字节按顺序为:FE 10 ,它表示的一个数就是0xFE10。换句话说:内存的低地址存放着数据高位; 小端模式:数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中,这种存储方式就是将地址的高低和数据的位结合起 阅读全文
posted @ 2010-12-21 17:28 candycaicai 阅读(4815) 评论(0) 推荐(1)
结构体的大小不一定是所有成员大小之和
摘要:今天在申请内存空间的时候发现结构体的大小并不是结构体内成员大小的相加,我觉得很奇怪,就在搜了一下资料,发现原来如此: 结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间,需要注意的是结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。 这就涉及到一个定义:偏移量,偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。举个例子:typedef struct{ int count; int num; char s; }INFO; 第一个成员的偏移量是0,第二个成员的偏移 阅读全文
posted @ 2010-11-15 16:17 candycaicai 阅读(1318) 评论(3) 推荐(0)
malloc函数与relloc函数
摘要:使用malloc函数与relloc函数要注意的·· 阅读全文
posted @ 2010-11-02 14:41 candycaicai 阅读(2467) 评论(0) 推荐(0)
unsigned int 与 unsigned long 一样吗?
摘要:unsigned long int  unsigned long int在C语言中是无符号长整形变量,是整形变量的一种。 unsigned long int 与unsigned long是等价的,即定义的时候int可以不写。  C语言字节数为4,与long型数据一样。   unsigned long int的取值范围: 0~4294967295 即 0~(2的32次方-1)   unsigned 是无符号  long是长  int是整型数据  unsigned long int 就是无符号长整型数据unsigned  整型的每一种都有无符号(unsigned)和有符号(signed)两种 阅读全文
posted @ 2010-10-27 18:03 candycaicai 阅读(26901) 评论(1) 推荐(0)