gcc的使用(一)

(一)编译一个简单的c程序

1.  #include <stdio.h>  
2.  int  
3.  main (void)  
4.  {  
5.  printf ("Hello, world!\n");  
6.  return 0;  
7.  } 

编译命令:gcc -Wall hello.c -o hello
-Wall 选项打开所有最常用到的编译警告。
(二)编译多个源文件
一个程序可能被分成多个源文件,这样可以更容易编辑和理解,尤其是在大程序的情况下—-它允许独立地编译各自的部分。
例如有三个文件:main.c hello_fun.c hello.h。其中hello.h文件定义hello函数原型,hello_fun.c 实现hello函数,main 函数调用hello函数。
编译命令:gcc -Wall main.c hello_fn.c -o newhello
(三)独立地编译文件。
如果整个程序代码被存储在单个源文件中,那么对某个函数的任何改变都需要改程序被重新编译以生成一个新的可执行文件。重新编译大的源码文件可能非常花时间。
当程序被存储在一个个单独的源文件中时,只有那些修改过源码的文件才需要重新编译。用这种方法,源文件被分开一个个编译,然后再链接在一起—-分为两个步骤。在第一阶段,文件被编译但不生成可执行文件。生成的结果被称为对象文件(obj 文件),用 GCC 时有“.o”后缀名。
在第二阶段,各个对象文件由一个被称为链接器的单独的程序合成在一起。链接器把所有的对象文件组合在一起生成单个的可执行文件。
编译命令:
gcc -Wall -c main.c 生成main.o文件
gcc -Wall -c hello_fun.c 生成hello_fun.c文件
gcc main.o hello_fun.o -o hello 生成可执行文件hello
(四)头文件的链接
-I链接
gcc -Wall -I/home/lyp/gcc main.c hello_fun.c -o hello
-I/home/hello/include 表示将/home/lyp/gcc目录作为第一个寻找头文件的目录,寻找的顺序是/home/lyp/gcc-/user/include-/user/local/include

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值