
c语言
幽灵之使
善于交际,工作自信
展开
-
C标准中的一些预定义宏对调试程序有很大帮助
预处理命令#pragma和预定义宏一、C预定义宏C标准指定了一些预定义宏,编程中常常用到。__DATE__ 进行预处理的日期__FILE__ 代表当前源代码文件名的字符串__LINE__ 代表当前源代码文件中行号的整数常量__STDC__ 设置为1时,表示该实现遵循C标准__STDC_HOSTED__ 为本机环境设置为,否则设为0_原创 2013-06-29 21:58:04 · 1111 阅读 · 0 评论 -
c语言内部(汇编代码分析)函数调用过程探究
装载 http://www.cnblogs.com/bangerlee/archive/2012/05/22/2508772.html引言如何定义函数、调用函数,是每个程序员学习编程的入门课。调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其实CPU和系统内核在背后做了很多工作。下面我们通过反汇编工具,来看函数调用的底层实现转载 2013-07-16 18:33:14 · 1355 阅读 · 0 评论 -
Linux环境下段错误的产生原因及调试方法小结
最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是著名的“段错误”(Segmentation Fault)。借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决。1. 段错误是什么一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内转载 2013-07-28 22:17:58 · 852 阅读 · 0 评论 -
C语言注意问题: 空指针
1、空指针表示"未分配"或者"尚未指向任何地方"。它与未初始化的指针不同,未初始化的指针可能指向任何地方。每种指针类型都要一个空指针,而不同类型的空指针的内部可能不尽相同。2、一般给指针赋值0就是将指针设为空指针(等同设为NULL)。但是0作为函数参数,传给指针时需要对0作类型转换。3、可以使用if(p)等同于if(p != 0),但是这种风格不好。4、NULL实际上是一个定义在 st原创 2013-07-28 19:36:47 · 1696 阅读 · 0 评论