C语言中Linux环境下编译与链接

编写一个简单的 hello.c 文件,以此为例。

1、编译并链接一个完全包含于一个源文件的C程序。

  • gcc hello.c
  • gcc -Wall hello.c
  • gcc -o hello hello.c 或 gcc hello.c -o hello

以上三种方法都会产生一个可执行文件,其中前两个生成的是可执行文件是 a.out ,最后一种生成的是文件名是 hello 的可执行文件。但是这三种办法在编译过程中生成的目标文件(hello.o),在链接完成后,又被自动删除,所以在目录下看不到 .o文件。

 

2、生成一个目标文件并存在当前目录中

  • gcc -c  hello.c

 会生成一个hello.o的目标文件存在当前目录下

 利用 .o文件生成可执行文件

  •  gcc -o hello hello.o

3、编译并连接多个源文件

  • gcc main.c sum.c sort.c
  • gcc -Wall main.c sum.c sort.c
  • gcc -o run main.c sum.c sort.c

其中main.c是一个主函数,内部调用sum.c及sort.c中定义的函数

4、编译多个源文件并为每一个源文件生成目标文件

  • gcc -c main.c sum.c sort.c

  链接多个目标文件,生成一个可执行文件

  • gcc main.o sum.o sort.o
  • gcc -o run main.o sum.o sort.o

 

posted @ 2020-06-09 22:11  W_柠檬草的味道  阅读(308)  评论(0编辑  收藏  举报