C深刨_预处理_下篇

发布时间:2024-03-01 18:01

文章目录

  • 条件编译
  • 续上篇文章之补充~
    • 宏可以通过编译器进行定义
  • 文件包含补充
  • #号

条件编译

由于本人之前写过条件编译的博客,也很详细,为了保证本个专题的完整,大家可以看一下之前的博客条件编译与宏其他扩展内容我也会写下来!!!

续上篇文章之补充~

宏可以通过编译器进行定义

首先先写出这个没有宏定义的代码
C深刨_预处理_下篇_第1张图片步骤:
C深刨_预处理_下篇_第2张图片

本质认识:条件编译,其实就是编译器根据实际情况,对代码进行裁剪。而这里“实际情况”,取决于运行平台,代码本身的
业务逻辑等。
可以认为有两个好处:1. 可以只保留当前最需要的代码逻辑,其他去掉。可以减少生成的代码大小
2. 可以写出跨平台的代码,让一个具体的业务,在不同平台编译的时候,可以有同样的表现

文件包含补充

C深刨_预处理_下篇_第3张图片
sum.c
C深刨_预处理_下篇_第4张图片
sum.h
C深刨_预处理_下篇_第5张图片
这块有点抽象

结论:所有头文件都必须带上条件编译,防止被重复包含!
那么,重复包含一定报错吗??不会!
重复包含,会引起多次拷贝,主要会影响编译效率!同时,也可能引起一些未定义错误,但是特别少

#号

把符号转换为字符串!!!

#include"sum.h"
#define HUAN(s) #s
int main(){
	char str[20] = { 0 }; 
	strcpy(str,HUAN(1234));
	printf("%s\n", str);
	return 0;
}

C深刨_预处理_下篇_第6张图片

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号