# 设置编译器CC = g++# -fPIC 作用于编译阶段,告诉编译器产生与位置无关代码# -D宏定义,相当于C中的全局#define,可以通过宏定义来控制源程序的编译,例如:# #ifdef _FILELINE# printf("Hello Yu Qiang, How are you?\n");...
分类:
其他好文 时间:
2015-03-13 10:46:46
阅读次数:
127
1)swift,貌似官网的推荐2)extern "C"我使用后者,用起来比较爽,上代码c.h1 #pragma once2 3 #ifdef __cplusplus4 extern "C" {5 #endif6 void test();7 #ifdef __cplusplus 8 }9 #en...
分类:
编程语言 时间:
2015-03-11 10:38:42
阅读次数:
167
C++程序会用到的一项预处理功能是头文件保护符,头文件保护符依赖于预处理变量。预处理变量有两种状态:已定义和未定义,#define指令把一个名字设定为预处理变量,另外两个指令则分别检查某个指定的预处理变量是否已经定义:#ifdef当且仅当变量已定义的时候为真,#inndef当且仅当变量未定义时为.....
分类:
编程语言 时间:
2015-03-11 01:56:02
阅读次数:
132
#include "stdafx.h"#ifdef _DEBUG#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)#else#define DEBUG_CLIENTBLOCK#endif#define _CRTDBG.....
分类:
编程语言 时间:
2015-03-08 22:57:20
阅读次数:
251
#include "stdio.h"#include "conio.h"#define MAX#define MAXIMUM(x,y) (x>y)?x:y#define MINIMUM(x,y) (x>y)?y:xvoid main(){int a=10,b=20;#ifdef MAXprintf(...
分类:
编程语言 时间:
2015-03-08 21:32:45
阅读次数:
195
1、typedef和#define一般用typedef比较好,可以用于定义指针。如果是#define的话,如:#define ap char *, 后面用ap定义时,定义的仍然只是字符,不是指针。#define也有好处,比如可以用#ifdef:如果宏定义了,则。2、
分类:
编程语言 时间:
2015-03-08 21:26:01
阅读次数:
167
#ifdef DEBUG #define debug(fmt,args...) printk(fmt ,##args) #define debugX(level,fmt,args...) if (DEBUG>=level) printk(fmt,##args); #else #define debu...
分类:
其他好文 时间:
2015-03-06 09:33:56
阅读次数:
171
一、邮箱控制块:在include/rtdef.h中#ifdef RT_USING_MAILBOX/** * mailbox structure */struct rt_mailbox{ struct rt_ipc_object parent; /*...
分类:
其他好文 时间:
2015-03-05 19:03:54
阅读次数:
1068
一、事件控制块:在include/rtdef.h中#ifdef RT_USING_EVENT/** * flag defintions in event */#define RT_EVENT_FLAG_AND 0x01 /**< logic and ...
分类:
其他好文 时间:
2015-03-05 12:20:23
阅读次数:
158
编译程序时,只要遇到 #error 就会跳出一个编译错误,既然是编译错误,要它干嘛呢?其目的就是保证程序是按照你所设想的那样进行编译的。
下面举个例子:
程序中往往有很多的预处理指令
#ifdef XXX
...
#else
#endif
当程序比较大时,往往有些宏定义是在外部指定的(如makefile),或是在系统头文件中指定的,当你不太确定当前是否定义了 XXX 时,就可以改成如下这样进行编译:
#ifdef XXX
...
#error "XXX has been defined"
#els...
分类:
编程语言 时间:
2015-03-05 00:23:22
阅读次数:
221