linux下写的Makefile,然后编译成文件,gdb调试的时候用list命令报错.搞了半天,在网上找了很多,说是一定要用-g,
然而我是添加的,后来又有人说是需要把-g写调宏定义CFLAGS = -g,但是还是不对.最后经过自己的摸索,才发现,如果
是.c的文件,用CFLAGS是可以的,但是如果是.cpp文件,则必须使用CPPFLAGS = -g才可以
贴上代码如下
CPP = g++...
分类:
数据库 时间:
2015-04-16 15:47:57
阅读次数:
300
一、定义 预处理由很多预处理命令组成,这些命令在编译之前处理,故称为“预处理”。二、种类 (1)宏定义:是将定义的标识符替换成后面的字符串。 定义格式: #define 标识符 字符串 (2)文件包含:指可以在一个文件中包含另外一个定义好的文件,这样可以将两个文件的内容合并在一起。定义格式: ...
分类:
其他好文 时间:
2015-04-16 10:18:34
阅读次数:
106
宏定义
/**/
#define M 1000
#define A(object) object
#define F(a,b) (a+b)
#define Concat(a,b) a##b
#define S(a) @#a
main(){
int a;
a = F(100,M);//a = (100 + 1000);
a = Concat(100, 100);/...
分类:
其他好文 时间:
2015-04-15 23:26:01
阅读次数:
111
在cocos2d-x中引入了两种物理引擎:CHIPMUNK和BOX2D。 针对这两款引擎,cocos2d-x提供了一个CCPhysicsSprite类与其关联,但由于只能使用一个引擎,所以采用了宏定义的方式进行取舍。比如:class CCPhysicsSprite : public CCSpr...
分类:
移动开发 时间:
2015-04-15 13:03:46
阅读次数:
169
预处理1、宏定义2、条件编译3、文件包含注意: 1、所有预处理都是以#开头,并且结尾不用分号. 2、宏名一般用大写字母,以便与变量名区别开来,但用小写也没有语法错误 3、作用域也是从定义到代码块结束 4、定义一个宏时可以引用已经定义的宏名 5、在编译预处理用字符串替换宏名时,不作语法检查,...
分类:
移动开发 时间:
2015-04-14 19:17:54
阅读次数:
197
定义:#defineEXAMPLE(x)printf("x=%d",x)i=10;j=11;EXAMPLE(i)EXAMPLE(j)i=20;j=21;EXAMPLE(i)EXAMPLE(j)输出:x=10x=11x=20x=21这个输出不是我们要的效果。修改宏定义中printf的使用。#defineEXAMPLE(x)printf(#x"=%d",x)输出:i=10j=11i=20j=21加入调试标记:#defineEXAMPLE..
分类:
编程语言 时间:
2015-04-13 21:11:35
阅读次数:
137
DeviceIoControl函数的第二个参数IoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),A...
分类:
其他好文 时间:
2015-04-13 20:28:56
阅读次数:
113
(1) _stdcall调用 _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。 WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcal...
分类:
其他好文 时间:
2015-04-13 14:22:07
阅读次数:
95
//单例#ifndef KCSingleton_h#define KCSingleton_h#pragma mark 接口.h中的定义//由于宏定义里有需要替换的内容所以定义一个变量className//##用于分割、连接字符串#define singleton_interface(classNam...
分类:
其他好文 时间:
2015-04-12 01:22:44
阅读次数:
123
问题:工作中遇到一个需求:需要在ld script中使用类似C语言的define等宏定义来做一些判断和替换
实验:
1:理论上*.c中都能用,是否gcc也支持在ld script中直接用宏呢,结果:
arm-linux-ld:xxx.lds:2: ignoring invalid character `#' in expression
arm-linux-ld:xxx.lds:2: synt...
分类:
其他好文 时间:
2015-04-11 20:55:38
阅读次数:
927