文章分类 -  Knowledge Point

点点知识汇集成潺潺流水,潺潺流水汇集成无边大海
KP004 - extern C
摘要:关于C++中的'extern "C"'本文将介绍C++中如何通过extern "C"关键字支持C语言。主要内容:简介1,问题的引出2,关于extern "C"3,用法举例总结简介===============C++语言的创建初衷是"a better C",但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而它可以定义不属于任何类的全局变量和函数 阅读全文
posted @ 2012-06-17 16:53 豆芽菜 阅读(166) 评论(0) 推荐(0)
KP003 - 函数压栈方式
摘要:0.程序段(交换2个变量的值)1: #include <stdio.h>2:3: int swap(int * a,int * b)4: {0040EA30 push ebp //0x0012FF80 保存ebp,该寄存器将用来保存堆栈的栈顶指针,在函数退出时恢复0040EA31 mov ebp,esp //esp:0x0012ff18 保存堆栈指针0040EA33 sub esp,4... 阅读全文
posted @ 2010-09-11 20:10 豆芽菜 阅读(123) 评论(0) 推荐(0)
KP002 - 包含.宏.条件编译
摘要:预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏定... 阅读全文
posted @ 2010-09-11 19:52 豆芽菜 阅读(174) 评论(0) 推荐(0)
KP001 - 数据的存储
摘要:基础 数据 存储 阅读全文
posted @ 2010-09-11 19:21 豆芽菜 阅读(212) 评论(0) 推荐(0)