在程序开始以#开头的命令,他们是预编译命令。有三类预编译命令:宏定义命令、文件包含命令、条件编译命令;今天聊聊宏定义: 宏定义命令将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替。因此预处理命令后通常不加分号。这并不是说所有的预处理命令后都不能有分号出现。由于宏定义只是用宏名对 ...
分类:
编程语言 时间:
2016-04-22 16:16:33
阅读次数:
193
宏:通常把是把一些常用字符串,基本便离开定义宏 1.编译时刻不同:const是在编译的时候编译,宏是在预编译的时候编译(预编译就是程序加载的时候,xcode上面会有一个进度条,显示进度,这个时候其实就是在预编译) 2.编译检测:const有编译检测,而宏没有编译检测 3.宏的好处:可以定义方法和函数 ...
分类:
其他好文 时间:
2016-04-18 00:38:52
阅读次数:
163
【通过本文能学到什么?】
1.NASM的条件汇编
2.用NASM编译的时候,通过命令行选项定义宏
3.Makefile的条件语句
4.在make命令行中覆盖Makefile中的变量值
5.第13章习题解答
6.复习如何构造栈段描述符...
分类:
编程语言 时间:
2016-04-17 23:13:00
阅读次数:
610
一、创建pch文件,默认跟项目同名 二、告诉系统,编译的时候要编译pch文件的步骤 三、把经常用到的宏 或者 分类 包含到这里 ...
分类:
移动开发 时间:
2016-04-10 14:23:16
阅读次数:
151
一、#define宏定义 1.宏定义,像这样的就是宏定义:#define PI 3.14159; 2.宏定义格式:#define 宏名称 宏值;宏名称就是要定义的宏,通常用一个大写的有意义的名称来表示;宏值就是这个宏所代表的常量。; 3.#define是预编译指令; 4.宏的本质是一种替代。 5.当 ...
分类:
编程语言 时间:
2016-04-08 08:55:03
阅读次数:
250
预定义宏 __DATE__ 字符串, 进行预处理的日期("Mmm dd yyyy", 如May 27 2006) __TIME__ 字符串, 源文件的编译时间("hh:mm:ss", 如09:11:10) __FILE__ 字符串, 代表当前源代码文件名(包含详细路径, 如F:/a.c) __LIN ...
分类:
其他好文 时间:
2016-03-28 01:59:42
阅读次数:
135
题意要求宏,能交换t类型的两个参数。由于愚昧,没读懂题意。于是在网上查到答案: #define SWAP(t,x,y) (t temp;temp = x;x = y;y = temp;) 虽然懂了意思但用gcc写了个例子编译失败。 #include<stdio.h> #define SWAP(t,x
分类:
其他好文 时间:
2016-03-08 00:26:44
阅读次数:
213
// 常用字符串,常见基本变量 定义宏 // const // 苹果一直推荐我们使用const,而不是宏 const作用: 1.修饰右边基本变量或者指针变量 int a int *p 2.被const修饰变量只读 // 修饰基本变量 //int const a = 3; // const int a
分类:
其他好文 时间:
2016-03-05 23:21:11
阅读次数:
186
常量是在程序中不能更改的量,在C/C++中有两种方式定义常量,一种是利用define宏定义的方式,一种是C++中新提出来的const型常变量,下面主要讨论它们之间的相关问题; define定义的常量: define是预处理指令的一种,它用来定义宏,宏只是一个简单的替换,将宏变量所对应的值替换,如下面
分类:
编程语言 时间:
2016-02-28 13:54:32
阅读次数:
177
1、内联函数 define 可以定义宏代码片段,但是,C++ 推荐使用内联函数替代宏代码片段。 inline int f(int a, int b) { } 只需要在 函数定义(实现)的前面添加 inline 关键字。内联函数的出现是为了替代宏代码的片段 定义: 内联函数,其实就会将内联函数的内部直...
分类:
编程语言 时间:
2016-02-24 14:00:24
阅读次数:
159