了解Linux下的C语言编程的基本常识

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解了解Linux下的C语言编程的基本常识问题。1.源程序编译。 在Linu...

大家好,我是本期栏目编辑小友,现在为大家讲解了解Linux下的C语言编程的基本常识问题。

1.源程序编译。 在Linux下,如果我们想编译一个c语言源程序,就应该使用GNU的gcc编译器。这里我们将通过一个例子来说明如何使用gcc编译器。 假设我们有以下非常简单的源程序(hello.c): int main(int argc,char **argv) { printf(' Hello Linux \ n '); } 要编译这个程序,我们只需要在命令行执行: 你好你好 gcc编译器会为我们生成一个hello可执行文件。通过执行可以看到程序的输出结果。/你好。命令行中的gcc表示我们正在用gcc编译我们的源程序,而-o选项表示我们要求编译器输出名为hello和hello.c的可执行文件是我们的源程序文件。 gcc编译器有很多选项,一般我们只需要知道其中的几个。-o选项是已知的,表示我们需要输出的可执行文件的名称。-c选项表示我们只需要编译器输出目标代码,而不需要可执行文件。-g选项表示我们需要编译器在将来编译时提供给我们调试程序的信息。 知道了这三个选项,我们就可以编译自己的简单源程序了。如果你想知道更多的选项,可以查看gcc的帮助文档,里面有很多其他选项的详细描述。 2.2.Makefile的准备 假设我们有一个这样的程序,源代码如下: /* main.c */ #i包括“mytool1.h” #i包括“mytool2.h” int main(int argc,char **argv) { my tool 1 _ print(' hello '); my tool 2 _ print(' hello '); } /* mytool1.h */ # ifndef _ MYTOOL _ 1 _ H # define _ MYTOOL _ 1 _ H void my tool 1 _ print(char * print _ str); #endif /* mytool1.c */ #i包括“mytool1.h” void my tool 1 _ print(char * print _ str) { printf('这是我的工具1打印%s\n ',print _ str); } /* mytool2.h */ # ifndef _ MYTOOL _ 2 _ H #define _MYTOOL_2_H void my tool 2 _ print(char * print _ str); #endif /* mytool2.c */ #i包括“mytool2.h” void my tool 2 _ print(char * print _ str) { printf('这是我的工具2打印%s\n ',print _ str); } 当然,因为这个程序很短,我们可以这样编译。 海湾合作委员会 gcc -c mytool1.c gcc -c mytool2.c gcc-o main . o my tool 1 . o my tool 2 . o 这样,我们也可以生成主程序,而且时不时会比较麻烦。但是如果我们考虑到如果有一天我们修改了其中一个文件(例如mytool1.c),是否需要重新输入上面的命令?也许你会说,这很容易解决。我可以写一个SHELL脚本,让她帮我完成。是的,它可以为这个项目发挥作用。但是当我们考虑更复杂的事情时,如果我们的程序有数百个源程序,我们需要编译器逐个重新编译吗?

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。