小编开始学习在linux下的C编程,跟windows某些编译环境下的内容应该还是有一些差别的
1. 第一个程序(当然是hello world了)
vim hello.c来建立并编辑我们第一个c程序,
#include<stdio.h>
int main()
{
printf(“hello world”);
return 0;
}
注意,这里的main函数是有返回值的,具体深层次的原因需要深入学习才能够更好领会。
编写完成以后,使用gcc编译器编译一下
gcc hello.c
编译成功以后会生成一个 a.out文件,可以通过ls -al查看一下他们的权限。可以发现a.out其实是一个可执行文件。
输入./a.out就可以将程序执行啦。
2. 多个文件分置
补充 vim中可以打开多个文件
:cp filename
crtl+w+↓跳转到下面的程序
set nu显示行号
9 dd 剪切光标下面9行
p 粘贴剪切板里的内容
:wq 保存并退出
:wqa 所有文件保存退出
编译两个源代码: gcc filename.c filename2.c 等
gcc filename.c -o main 指定输出可执行文件的名称。
注意,新的gcc可以不添加引用依然可以编译成功,老版的或许不可以。
3. 头文件与函数定义的分离
将文件编译成.o机器码。gcc -c filename -o abc
gcc abc main.c
这样有一个好处,由于.C文件编译成.O机器码十分消耗时间,而不作修改的程序可以先编译成.O文件,节约后续程序开发时间。
(也叫生成静态库)
4. makefile的生成。
例如一个求最大最小值程序:其中max,min文件为求最大最小值的文件
hello.out:max.o min.o hello.c
gcc max.o min.o hello.c
max.o:max.c
gcc -c max.c
min.o:min.c
gcc -c min.c
保存后 make 即可成功运行,节省编译时间