C语言预编译怎么使用
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,这篇文章主要介绍"C语言预编译怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C语言预编译怎么使用"文章能帮助大家解决问题。1、内置符号这些符号都可以直
千家信息网最后更新 2025年02月22日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安全错误
数据库的锁怎样保障安全
数据库修改了怎么发现
学软件开发上什么学历
单件版软件开发
软件开发工程师专业学院
数据库无法添加用户
数据库怎么查找姓王的两个字
软件开发工单系统
出售软件开发
linux服务器管理方案
数据库是什么 有什么作用
数据库去掉换行
梦幻服务器登录
知乎 数据库笔记本
工业互联网和蓝思科技
梦幻西游舞厅服务器在哪里
数据库裸设备迁移
mu数据库注册闪退
软件开发解决方案咨询
服务器ip地址泄露导致崩服
网络安全的守护者图片
软件开发招标会
电脑虚拟机安装软路由服务器
打开服务器管理工具的命令
windows10数据库更新
什么叫数据库的特性
灞桥区软件开发培训
盐田服务器设备供货商哪家质量好
网络安全品牌魔力象限排名
健康码运用了什么新网络技术
外网采访sql数据库