发布时间:2015-04-14 11:39:01
今天调试程序时出现了错误:malloc(): memory corruption: 0x09fb3da0。上网查询后说可能是内存访问越界。仔细阅读自己写的代码后发现是strlen和sprintf导致的问题。strlen返回的长度不包括字符串末尾的'\0',而sprintf会在字符串末尾自动加上'\0'。我在动态分配内存的时候,分配了strlen()长度的内存,.........【阅读全文】
发布时间:2015-04-02 17:13:33
OK6410---LED字符设备驱动 一、实验环境 开发机环境 操作系统:ubuntu 9.10 交叉编译环境:arm-linux-gcc 4.2.2 ,安装位置 /usr/local/arm/4.3.2/.........【阅读全文】
发布时间:2015-04-01 15:11:32
_attribute_((packed))1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:.........【阅读全文】
发布时间:2015-03-31 11:24:04
获取文件大小这里有两种方法:方法一、范例:[cpp] view plaincopyprint?unsigned long get_file_size(const char *path) { unsigned long filesize = -.........【阅读全文】
发布时间:2015-03-30 18:52:16
gcc 的字节对齐扩展一、在阅读ffmpeg代码时经常看到类似下面的语句:#pragma pack(n)#pragma pack()和__attribute((aligned (8)))__attribute__ ((packed));例如:# ifdef __GNUC__static inline uint32_t unaligned32(const void *v){ s.........【阅读全文】