如果你是一位开发人员在开发过程中会发现有些代码无论是在同一个工程中还是在不同工程中使用率会很高,有经验的人会直接封装在一个类里,或者写成一个宏 定义或者把这些代码收集起来,下次直接使用,或者...
分类:
移动开发 时间:
2014-08-25 13:31:34
阅读次数:
203
c#不支持宏定义,只支持编译开关。======================================我想加上#define xxx就编译a代码,否则编译b代码,像这样的:#if xxxa #elseb #endif===================================...
分类:
其他好文 时间:
2014-08-25 11:25:54
阅读次数:
398
Autotools工具的构成1、autoscanautoscan是用来扫描源代码目录生成configure.san文件的,configure.san包含了系统配置的基本选项,里面都是一些宏定义,我们需要将它的名字改为configure.in2、aclocalaclocal是一个perl脚本程序。ac...
分类:
移动开发 时间:
2014-08-24 16:36:02
阅读次数:
294
Autotools工具的构成1、autoscanautoscan是用来扫描源代码目录生成configure.san文件的,configure.san包含了系统配置的基本选项,里面都是一些宏定义,我们需要将它的名字改为configure.in2、aclocalaclocal是一个perl脚本程序。aclocal根据configure.in文件内容自动生成aclocal.m4文件,生成的aclocal...
分类:
移动开发 时间:
2014-08-24 14:14:40
阅读次数:
435
MFC中可以串行化的类必须满足以下条件
1 从CObject派生,或者间接派生
2 重写Serialize函数
3 使用DECLARE_SERIAL宏
4 定义不带参数的构造函数
5 在类的实现文件中用IMPLENT_SERIAL宏
在绘图保存的程序中,类CPaints作为保存的基本单元,它里面存储了绘图类型,起始点,终止点三个成员变量。
然后在绘图中每当绘制一幅图都会将CP...
分类:
其他好文 时间:
2014-08-21 04:12:43
阅读次数:
210
例如:#define uint unsigned int//用uint来代替(表示)unsigned int,语句前有#,后面无须加分号“;”uint可为除关键字以外的任意字符,以方便书写。同理:#define uchar unsigned char
分类:
编程语言 时间:
2014-08-20 12:13:42
阅读次数:
271
预处理指令不带参数的宏定义: 格式: #define 宏名 值 作用:提高代码的可读性 在程序编译前把所有出现宏名标示的位置都替换为定义宏的时候,宏名后面的值带参数的宏定义 格式 #define 宏名(参数列表) 参数表达式 作用:在编译之前,把所有出现宏名(x)地方,都替换...
分类:
编程语言 时间:
2014-08-20 01:13:25
阅读次数:
213
typedef 和#define 都常用来定义一个标识符及关键字的别名,但他们之间有关键的区别。
typedef 是语言编译过程的一部分;
#define是宏定义语句,它本身并不在编译过程中进行,而是在这之前的预处理过程就已经完成了。
要理解两者的关键区别,可以这么来考虑 :
把typedef 看成是一种彻底的"封装"类型,相当于产生了一个新的变量类型(这点与struct ...
分类:
数据库 时间:
2014-08-19 09:24:33
阅读次数:
251
编译过程大体包括预处理,编译,汇编,链接四大步,其中预处理主要是宏定义替换,文件包含,条件编译。用#ifndef机构可以防止以下情况:即一个文件A包含了一个头文件C,同时另一个文件B也包含了头文件C,而且文件A包含了头文件B,若用#ifndef结构可以避免在编译的时候报错,但是若头文件里有定义(包括...
分类:
其他好文 时间:
2014-08-18 20:17:52
阅读次数:
144
common lisp的let宏定义如下 (defmacro?our-left?(binds?&body?body)
??`((lambda?,(mapcar?#‘(lambda?(x)
?(if?(consp?x)?(car?x)?x))
?????binds)
??????,@body)
??????,...
分类:
其他好文 时间:
2014-08-18 16:38:12
阅读次数:
252