预编译命令
2015-11-09 11:04
316 查看
预编译:在真正编译之前设置一些变量,环境设置。
主要的命令有
#define——宏定义:文本替换,不能提供变量类型检查,还有需要主要宏定义函数时,
结合顺序有时候发生变化。
#if #elif #else #endif
可以实现代码的分块执行。实现分块调试。
#ifdef #ifndef #else #endif
这组预编译命令和上面的差不多。它是只要define了该名字,不需要考虑是不是有值。
#error
#error 预处理指令的作用是,编译程序时,只要遇到#error 就会生成一个编译错误提
示消息,并停止编译。其语法格式为:
#error error-message
注意,宏串error-message 不用双引号包围。遇到#error 指令时,错误信息被显示,可能同时
还显示编译程序作者预先定义的其他内容。
主要的命令有
#define——宏定义:文本替换,不能提供变量类型检查,还有需要主要宏定义函数时,
结合顺序有时候发生变化。
#if #elif #else #endif
可以实现代码的分块执行。实现分块调试。
#include<stdio.h> #include<stdlib.h> #define num 1 int main() { #if num==1 srand(12); for(i=0;i<5;i++) { int ret1=rand(); printf("%d\t",ret1); } printf("\n"); #else int *ans=(int *)calloc(5,sizeof(int)); for(i=0;i<5;i++) printf("%d\t",ans[i]); printf("\n"); #endif return 0; }
#ifdef #ifndef #else #endif
这组预编译命令和上面的差不多。它是只要define了该名字,不需要考虑是不是有值。
#error
#error 预处理指令的作用是,编译程序时,只要遇到#error 就会生成一个编译错误提
示消息,并停止编译。其语法格式为:
#error error-message
注意,宏串error-message 不用双引号包围。遇到#error 指令时,错误信息被显示,可能同时
还显示编译程序作者预先定义的其他内容。
相关文章推荐
- C/C++ 宏详细解析
- 巧用ASP.NET预编译Web应用程序规避调用延迟的方法
- 深入探讨:宏、内联函数与普通函数的区别
- C++十六进制宏的用法详解
- C++基础入门教程(二):数据、变量、宏等
- 枚举和宏的区别详细解析
- 浅析c++ 宏 #val 在unicode下的使用
- Lua中的源代码预编译浅析
- 如何在C语言的宏中使用类型关键字
- JDBC之PreparedStatement类中预编译的综合应用解析
- 树形结构
- 巧用可变参数宏、编译器内置宏和printf输出调试信息
- 一次搞懂 Assets Pipeline
- C语言预编译所做的事
- Android NDK 之 NDK 预生库支持
- C++ 文件头 static char THIS_FILE[] = __FILE__
- 用宏获取函数名
- C语言之“宏”
- do...while(0)在宏定义中的巧妙用法
- do...while(0)在宏定义中的巧妙用法