C语言预编译怎么使用
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"C语言预编译怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C语言预编译怎么使用"文章能帮助大家解决问题。1、内置符号这些符号都可以直
千家信息网最后更新 2025年11月08日C语言预编译怎么使用
这篇文章主要介绍"C语言预编译怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C语言预编译怎么使用"文章能帮助大家解决问题。
1、内置符号
这些符号都可以直接使用:
__FILE__ 点c文件全名
__LINE__ 当前行号
__DATE__ 编译日期
__TIME__ 编译时间
举例:
#includeint main() { printf("文件全名:%s\n", __FILE__); printf("当前运行行号:%d\n", __LINE__); printf("编译日期:%s\n", __DATE__); printf("编译时间:%s\n", __TIME__); return 0;}
效果:
2、自定义符号
#define 名 值
不带分号。预编译阶段,所有名字会被值替换。
举例:给printf取个别名。
#include#define say printfint main() { say("你好,世界!\n"); return 0;}
效果:

举例:自定义一个死循环符号。
#include#define loop while(1)int main() { int i = 0; loop{ if (i > 1000) { break; } else { printf("你好,世界!\t%d\n",i); i++; } } return 0;}
效果:
3、自定义宏
和自定义符合差不多。
相当于函数,只不过在预编译的阶段就会执行。
然后替换掉。
#define 名 ( 参数列表 ) 表达式
举例:输出字符串。
#include#define say(s)printf(s)int main() { say("你好,世界!\n"); return 0;}
效果:
替换逻辑:递归。
看参数有没有define,有就套娃。
直到没有,替换自己。
字符串内部的符号会被忽略。
4、条件编译
可以用#define定义一个符号,代表是否要执行。
#include#define __DEBUG__ 1int main() { if (__DEBUG__) { printf("调试模式开启\n"); } else { printf("调试模式关闭\n"); } return 0;}
效果:
同时,可以让这段代码直接跳过编译。
#include#define __DEBUG__ 1int main() {#if __DEBUG__ printf("调试模式开启\n");#endif return 0;}
这种写法也有配套的选择分支。
#include#define __DEBUG__ 0#define __WARN__ 1int main() {#if __DEBUG__ printf("调试模式\n");#elif __WARN__ printf("警告模式\n");#else printf("正常模式\n");#endif return 0;}
效果:
关于"C语言预编译怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
编译
效果
模式
符号
语言
世界
你好
知识
全名
参数
字符
字符串
文件
日期
时间
行业
阶段
行号
不同
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全属于什么方面硕士
社区网络安全知识宣传工作简报
庐阳区网络技术服务有哪些
网络安全标题长句子
修复中的数据库没有核查出错误
公司管理系统数据库建表
关系数据库的最基本的数据单位
word绘制数据库表结构
ibm服务器导轨怎么安装
vue显示数据库列表
笔记本连接服务器打不开网络游戏
我的世界服务器限制点击
数据库DML 是什么意思
17北外数据库技术
新power服务器
服装生产软件开发
容错服务器rs6800
如何查找打印机内存数据库
软件开发职业方向
嵌入式软件开发与java
网络安全重点领域是什么
django更换数据库
宝塔数据库端口怎么设置
学网络安全毕业后去哪找工作
服务器厂家属于什么行业
微信服务器怎么连不上
30岁网络安全运维好学吗
惠普服务器12v电源改装
阿里云服务器部署微信
手机扫描服务器搭建