文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言预编译怎么使用

2023-06-30 12:19

关注

这篇文章主要介绍“C语言预编译怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言预编译怎么使用”文章能帮助大家解决问题。

1、内置符号

这些符号都可以直接使用:

__FILE__            点c文件全名
__LINE__            当前行号
__DATE__            编译日期
__TIME__            编译时间

举例:

#include<stdio.h>int main() {printf("文件全名:%s\n", __FILE__);printf("当前运行行号:%d\n", __LINE__);printf("编译日期:%s\n", __DATE__);printf("编译时间:%s\n", __TIME__);return 0;}

效果:

C语言预编译怎么使用

2、自定义符号

#define 名 值

不带分号。预编译阶段,所有名字会被值替换。

举例:给printf取个别名。

#include<stdio.h>#define say printfint main() {say("你好,世界!\n");return 0;}

效果:

C语言预编译怎么使用

举例:自定义一个死循环符号。

#include<stdio.h>#define loop while(1)int main() {int i = 0;loop{if (i > 1000) {break;}else {printf("你好,世界!\t%d\n",i);i++;}}return 0;}

效果:

C语言预编译怎么使用

3、自定义宏

和自定义符合差不多。

相当于函数,只不过在预编译的阶段就会执行。

然后替换掉。

#define 名 ( 参数列表 ) 表达式

举例:输出字符串。

#include<stdio.h>#define say(s)printf(s)int main() {say("你好,世界!\n");return 0;}

效果:

C语言预编译怎么使用

替换逻辑:递归。

看参数有没有define,有就套娃。

直到没有,替换自己。

字符串内部的符号会被忽略。

4、条件编译

可以用#define定义一个符号,代表是否要执行。

#include<stdio.h>#define __DEBUG__ 1int main() {if (__DEBUG__) {printf("调试模式开启\n");}else {printf("调试模式关闭\n");}return 0;}

效果:

C语言预编译怎么使用

同时,可以让这段代码直接跳过编译。

#include<stdio.h>#define __DEBUG__ 1int main() {#if __DEBUG__printf("调试模式开启\n");#endifreturn 0;}

这种写法也有配套的选择分支。

#include<stdio.h>#define __DEBUG__ 0#define __WARN__ 1int main() {#if __DEBUG__printf("调试模式\n");#elif __WARN__printf("警告模式\n");#elseprintf("正常模式\n");#endifreturn 0;}

效果:

C语言预编译怎么使用

关于“C语言预编译怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯