GCC:编译器。作用是将源代码编译成机器语言,生成可执行文件或库文件。
Glibc:运行时库。是linux系统上最常用的C标准库实现之一。
GNU C:是让编程可以由gcc进行编译的一种编程的标准。
Posix:可移植操作系统接口。是兼容linux和win等不同系统开发的一种标准。
1,简单的hello world
在linux上安装visual studio,编写hello.c ,hello.h再在main.c里面调用hello.c里面定义的函数即可。其中要注意.vscode下面的tasks.json文件里面的args下面的"${file}",要改成"*.c"。最后生成一个可执行程序main
hello.c
#include "hello.h"
#include <stdio.h>
void say_hello()
{
printf("hello world\n");
}
hello.h
#ifndef __HELLO_H__
#define __HELLO_H__
void say_hello();
#endif
main.c
#include "hello.h"
int main()
{
say_hello();
return 0;
}
2,简单的C语言编译过程
如果上述三个文件不用visual studio编译,而用gcc编译生成,命令就是gcc main.c hello.c -o main,也会生成main的二进制文件。这其中有预处理(变成.i),编译(变成.s),汇编(变成.o)和链接这几个步骤。