上QQ阅读APP看书,第一时间看更新
1.2 构建多源程序
1.2.1 输出另一源程序的字符串
本例由1.1节的“您好,世界”程序修改而成。新建源文件msg.c,在其中定义输出的字符串内容,如代码清单1.2所示。
代码清单1.2 ch001/多源程序/msg.c
const char *msg = "您好,我来自msg.c!";
然后将“您好,世界”主程序中输出的内容修改为变量msg的值,同时将msg声明为一个外部变量,如代码清单1.3所示。
代码清单1.3 ch001/多源程序/main.c
#include <stdio.h>
extern const char *msg;
int main() {
printf("%s\n", msg);
return 0;
}
至此,本例的两个源程序就已经编写好了,那么该如何构建它们呢?既然只是多了一个源文件,想必直接罗列在编译器命令行参数的后面就可以了吧!
MSVC的构建过程如下:
> cd CMake-Book\src\ch001\多源程序
> cl main.c msg.c
> main.exe
您好,我来自msg.c!
GCC的构建过程如下:
$ cd CMake-Book/src/ch001/多源程序
$ gcc main.c msg.c
$ ./a.out
您好,我来自msg.c!
果然如此简单,甚至二者的命令行参数都毫无分别!接下来,我们让情况变得复杂一些。