当前位置: 移动技术网 > IT编程>开发语言>C/C++ > c语言关于宏定义的代码实例讲解

c语言关于宏定义的代码实例讲解

2018年09月12日  | 移动技术网IT编程  | 我要评论

赵天韶,徐方达,iphone4发布会下载

关于宏定义的代码实例讲解

#include 
#include 
//c语言执行的流程
//编译:形成目标代码(.obj)
//连接:将目标代码与c函数库连接合并,形成最终的可执行文件
//执行

//预编译(预处理),为编译做准备工作,完成代码文本的替换工作
//c:\program files (x86)\microsoft visual studio 12.0\vc\include
//c:\program files (x86)\microsoft visual studio 12.0\vc\crt\src

//头文件告诉编译器有这样一个函数,连接器负责找到这个函数的实现
//宏定义、宏替换、预编译指令
//define指令

//1.定义标示
//#ifdef __cplusplus 标识支持c++语法
//防止文件重复引入

//在a.h 告诉编译器有printfa()函数
/*#include "a.h"
//在c中实现
void printfa(){
 printf("%s","a string");
}
//调用
void main(){
 printfa();

 getchar();
}*/


a.h: 
//如果没有定义ah 则定义ah
/* #ifndef ah  //这条语句和#endif是配对的
#define ah

#include "b.h"

void printfa();

#endif*/

//该头文件只被包含一次,让编译器自定处理好循环包含问题
#pragma one
#include "b.h"
void printfa();
//2.定义常数(便于修改与阅读)
/*#define max 100
//int min = 40;
void main(){
 if (3<max) {="" printf("数字比%d小",="" max);="" }="" getchar();="" *="" 3.定义“宏函数”="" *void="" com_gxl_read(){="" printf("read="" method\n");="" void="" com_gxl_write(){="" printf("write="" jni函数名称很长,也是jow宏函数缩短函数名称="" #define="" jni(name)="" com_gxl_##name();="" main(){="" 调用了com_gxl_write方法="" jni(write);="" }*="" 
//日志输出 //__va_args__可变参数 //#define log(format,...) printf(##format,__va_args__); ////日志会有级别 //#define log_i(format,...) printf("info:"); printf(##format,__va_args__); //#define log_e(format,...) printf("erro:"); printf(##format,__va_args__); //升级版本 #define log(level,format,...) printf(##level); printf(##format,__va_args__); #define log_i(format,...) log("info:",##format,__va_args__); #define log_e(format,...) log("error:",##format,__va_args__); #define log_w(format,...) log("warn:",##format,__va_args__); //android //#define logi(format,...) __android_log_print(android_log_info,"jason",format,##__va_args__); //logi("%s","fix"); //替换 //__android_log_print(android_log_info, "jason", "%s", "fix"); void main(){ log_i("%s","hello"); getchar(); }

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网