共计 625 个字符,预计需要花费 2 分钟才能阅读完成。
从一到多
环境:ubuntu 18.04
背景常识
vim 编辑器是 vi 的加强版,如果你的零碎没有装置它的话,无妨在终端键入 sudo apt-get install vim
来装置它。在基本功能上二者没啥大差异,不过,看在 vim 更敌对的高亮上,多用用它吧?
上一篇文章里提到调用 gcc 时,-o
可用于指定生成指标文件的名称,这里再补充一个——-c
用于批示“编译但不链接”。
步骤
首先当然倡议关上终端并本人建个文件夹,不然练习完删起来麻烦
-
首先,咱们来筹备一个总文件数大于 1 的程序,嗯,就写 hello world 吧!代码如下:
// 我是 hello.c #include "hello.h" void sayhello() {printf("Hello World!\n"); }
// 我是 hello.h
#include <stdio.h>
void sayhello();
// 我是 test.c
#include "hello.h"
int main()
{sayhello();
return 0;
}
- 咱们能够试试间接
gcc test.c -o test
,会发现没有文件生成,而且编译器提醒“undefined reference to ‘sayhello’”。看来间接编译、链接行不通,这个编译器看起来不太聪慧的亚子。 -
那么,咱们试试独自编译每个文件后再链接吧。
gcc -c hello.c gcc -c test.c gcc hello.o test.o -o test
- 最初,
./test
,咱们用多文件程序的形式胜利输入 Hello World!
正文完