
C
zqlovlg
这个作者很懒,什么都没留下…
展开
-
C 重难点知识
用了那么多,总结几点: 内存分配额释放;指针:简单指针、指针函数、函数指针、数组指针;sizeof()、结构体和字节对齐;网络字节序 继续添加...原创 2012-09-08 22:58:08 · 720 阅读 · 0 评论 -
cortex m3 LPC1768 sprintf %f 出现崩溃 硬件错误 reset 原因是 arm-gcc 不支持 sprintf %f
我使用的是NXP的cortex-m3芯片LPC1768作为主控芯片,经过研究反复研究和实验,修改startup.s代码中的stack_size和heap_size的大小都无济于事,任然出现奇怪的现象,即在单步调试的时候,只能执行一次,并且这次得到的结果是正确的,然后就立即出现硬件错误,进入汇编语言的硬件错误死循环;如果全速运行,那么每次得到的结果都是0.00000,没有一次能得到正确结果,但是并没原创 2013-01-09 00:15:16 · 3600 阅读 · 0 评论 -
int与long区别
数据模型决定了C语言中基本数据类型与数据宽度的对应关系。我们常用的32位模型称为ILP32,而64位模型有三种:LP64、LLP64和ILP64。在64位模型中,指针一定是64位的,但是int和long的宽度则在不同的数据类型中有不同的定义。如下表:datatypeLP32ILP32LLP64LP64ILP64转载 2013-07-03 01:21:39 · 1427 阅读 · 0 评论 -
程序 打印 输出 调试 信息
在程序中某行处输出调试重要的信息打印当前源文件的名字、行数和函数名: __FILE__, __LINE__, __func__ (注意,不是__FUNC__ )printf("File: %s Func: %s Line: %d \n", __FILE__, __LINE__, __func__ );原创 2014-01-13 23:02:38 · 1297 阅读 · 0 评论 -
C标准预定义宏 -- 需要整理一下
ANSI C标准中有几个标准预定义宏:__FILE__ __DATE__ __TIME___ __LINE__ 等__LINE__:在源代码中插入当前源代码行号;__FILE__:在源文件中插入当前源文件名;__DATE__:在源文件中插入当前的编译日期__TIME__:在源文件中插入当前编译时间;__STDC__:当要求程序严格遵循ANSI C标准时该标转载 2014-04-13 14:59:54 · 953 阅读 · 0 评论 -
分析函数调用关系图(call graph)的几种方法
绘制函数调用关系图对理解大型程序大有帮助。我想大家都有过一边读源码(并在头脑中维护一个调用栈),一边在纸上画函数调用关系,然后整理成图的经历。如果运气好一点,借助调试器的单步跟踪功能和call stack窗口,能节约一些脑力。不过如果要分析的是脚本语言的代码,那多半只好老老实实用第一种方法了。如果在读代码之前,手边就有一份调用图,岂不妙哉?下面举出我知道的几种免费的分析C/C++函数调用关系的工具转载 2014-06-30 16:47:22 · 6553 阅读 · 0 评论