C语言多个源程序宏定义的作用范围

C语言多个源程序宏定义的作用范围,第1张

宏定义分类:

(1)不带参数的宏定义

形式: #define 宏名 [宏体]

功能:可以实现用宏体代替宏名

使用实例: #define TRUE 1

作用:程序中多次使用TRUE,如果需要对TRUE的值进行修改,只需改动一处就可以了

(2)带参数的宏: #define 宏名 ( 参数表) [宏体]

宏定义作用:

(1)方便程序的修改

上面的#define TRUE 1就是一个实例

(2)提高程序的运行效率

宏定义的展开是在程序的预处理阶段完成的,无需运行时分配内存,能够部分实现函数的功能,却没有函数调用的压栈、d栈开销,效率较高

(3)增强可读性

这点不言而喻,当我们看到类似PI这样的宏定义时,自然可以想到它对应的是圆周率常量

(4)字符串拼接

例如:

#define CAT(a,b,c) a##b##c

main()

{

printf("%d\n" CAT(1,2,3))

printf("%s\n", CAT('a', 'b', 'c')

}

程序的输出会是:

123

abc

(5)参数转化成字符串

示例:

#defind CAT(n) "abc"#n

main()

{

printf("%s\n", CAT(15))

}

输出的结果会是

abc15

(6)用于程序调试跟踪

常见的用于调试的宏有,_ L I N E _,_ F I L E _,_ D A T E _,_ T I M E _,_ S T D C _

(7)实现可变宏

举例来说:

#define PR(...) printf(_ _VA_ARGS_ _)

在C语言中,可以使用多个源文件来编写一个程序。可以将程序分成多个模块,每个模块对应一个源文件。在使用多个源文件时,可以采用以下两种方法来同时编译和运行多个源文件:

将多个源文件编译成一个可执行文件

在这种方法中,可以使用一个命令将多个源文件编译成一个可执行文件。例如,假设有两个源文件main.c和func.c,可以使用以下命令将它们编译成一个可执行文件:

go

gcc main.c func.c -o program

其中,gcc是编译器的命令,main.c和func.c是源文件,-o program指定可执行文件的名称为program。

将多个源文件编译成多个目标文件,然后链接成一个可执行文件

在这种方法中,可以先将多个源文件分别编译成目标文件,然后再将它们链接成一个可执行文件。例如,假设有两个源文件main.c和func.c,可以使用以下命令将它们分别编译成目标文件:

r

gcc -c main.c

gcc -c func.c

其中,-c选项表示只编译源文件,不进行链接。编译后会生成两个目标文件main.o和func.o。

然后,可以使用以下命令将两个目标文件链接成一个可执行文件:

go

gcc main.o func.o -o program

其中,main.o和func.o是目标文件,-o program指定可执行文件的名称为program。

这两种方法都可以同时编译和运行多个源文件,具体使用哪种方法可以根据实际情况选择。

C语言中 各个模块 其实就是函数的合集

所以 要合起来 只要把这些模块 写入到一个文件就好了啊 然后用一个main整合

也可以建立多个文件,加入到project中,一起编译。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11755980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存