1、#define和#if、#elif、#else、#endif的结合使用 ...
内存相关 开发环境 编译器 gcc编译器 什么是编译器:把人类能看的懂的语言翻译成机器能够看的懂的二进制语言的程序。 编译器 预处理器:把程序员编写的代码翻译成标准的C语言。 翻译器:把标准的C语言编程成二进制语言(没有入口)。 链接器:把若干个目标文件合并在一起生成可执行的二进制文件。 装载器:把 ...
分类:
系统相关 时间:
2018-08-04 17:33:35
阅读次数:
192
一、程序执行的过程 1.预编译:主要处理源代码中的预处理指令,引入头文件,去除注释,处理所有的条件编译指令,宏的替换,添加行号,保留所有的编译器指令。 gcc -E main.c -o main.i 2.编译:编译过程所进行的是对预处理后的文件进行语法分析,词法分析,语义分析,符号汇总,然后生成汇编 ...
分类:
其他好文 时间:
2018-07-16 20:03:09
阅读次数:
155
1、预处理 预处理也称为预编译,它为编译做准备工作,主要进行代码文本的替换工作,用于处理#开头的指令,其中预处理产生编译器的输出。下表是一些常见的预处理指令及其功能。 经过预处理器处理的源程序与之前的源程序会有所不同,在预处理阶段所进行的工作只是纯粹的替换与展开,没有任何功能,所以在学习#defin ...
分类:
其他好文 时间:
2018-07-15 19:44:35
阅读次数:
183
最近闲来无事,翻阅msdn,在预编译指令中,翻阅到#pragma pack这个预处理指令,这个预处理指令为结构体内存对齐指令,偶然发现还有另外的内存对齐指令aligns(C++11),__declspec(align(#))(Microsoft专用),遂去探究两者之间的不同点。 1、#pragma ...
分类:
其他好文 时间:
2018-07-13 17:49:42
阅读次数:
262
一、预处理指令 问题:输入一些WORD,判断有没有首字母大写的两个相同的词 关闭预处理: 解决资源方案--demo--右键“属性”--c++--命令行 附加选项:/DNDEBUG 结果: 二、预处理常量 三、assert断言 断言也用来调试,与预定义一样,受附加选项/DNDEBUG控制 ...
分类:
其他好文 时间:
2018-07-09 16:35:27
阅读次数:
178
转自:https://www.cnblogs.com/Lynn-Zhang/p/5377024.html C/C++程序编译流程(预处理->编译->汇编->链接) 程序的基本流程如图: 1. 预处理 预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令 ...
分类:
编程语言 时间:
2018-07-08 20:05:15
阅读次数:
152
+多文件结构 +编译预处理指令 +系统函数 +自定义数据类型 一、C++源程序的多文件结构 +++++ + 可以只声明 不使用 + +头文件 二、编译预处理指令 三、几种特殊形式的函数 四、系统函数 五、自定义数据类型 六、 ...
分类:
其他好文 时间:
2018-07-01 20:28:41
阅读次数:
134
1、使用vi或者vim编写程序文件 2、使用gcc把所有的源文件翻译成计算机认识的格式(编译) 3、使用./a.out作为命令执行得到的可执行文件 gcc编译器的工作步骤: 1、处理所有的预处理指令 2、把第一步的处理结构翻译成计算机认识的格式(编译) 3、把第二部的处理结果合并成最终的可执行文件( ...
分类:
编程语言 时间:
2018-06-26 22:39:30
阅读次数:
202
Nana官网地址:nanapro.org 简单示例:NanaDemo.cpp 为避免控制台窗口的弹出,可使用预处理指令#pragma comment(linker, "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup") 或者进入工程属性,将链接器->系统中的子系统设 ...
分类:
编程语言 时间:
2018-06-17 00:14:15
阅读次数:
608