Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1366936
  • 博文数量: 245
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3094
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 14:51
文章存档

2011年(2)

2009年(152)

2008年(91)

我的朋友

分类: C/C++

2009-02-09 15:37:26

  gcc 的用法
  前面说过, gcc 为 Linux 上面最标准的编译器,这个 gcc 是由 GNU 所维护的,有兴趣的朋友请自行前往参考。既然 gcc 对于 Linux 上的 Open source 是这么样的重要,所以底下我们就列举几个 gcc 常见的参数,如此一来大家应该更容易瞭解原始码的各项功能吧?!

  # 仅将原始码编译成为目标档,并不制作连结等功能:
  [root@linux ~]# gcc -c hello.c
  # 会自动的产生 hello.o 这个档案,但是并不会产生 binary 执行档。

  # 在编译的时候,依据作业环境给予最佳化执行速度
  [root@linux ~]# gcc -O hello.c -c
  # 会自动的产生 hello.o 这个档案,并且进行最佳化喔!

  # 在进行 binary file 制作时,将连结的函式库与相关的路径填入
  [root@linux ~]# gcc sin.c -lm -L/usr/lib -I/usr/include
  # 这个指令较常下达在最终连结成 binary file 的时候,
  # -lm 指的是 libm.so 或 libm.a 这个函式库档案;
  # -L 后面接的路径是刚刚上面那个函式库的搜寻目录;
  # -I 后面接的是原始码内的 include 档案之所在目录。

  # 将编译的结果输出成某个特定档名
  [root@linux ~]# gcc -o hello hello.c
  # -o 后面接的是要输出的 binary file 档名

  # 在编译的时候,输出较多的讯息说明
  [root@linux ~]# gcc -o hello hello.c -Wall
  # 加入 -Wall 之后,程式的编译会变的较为严谨一点,
  # 所以警告讯息也会显示出来!

  比较重要的大概就是这一些。另外,我们通常称 -Wall 或者 -O 这些非必要的参数为旗标( FLAGS ),因为我们使用的是 GCC ,所以有时候也会简称这些旗标为 CCFLAGS ,这些变数偶尔会被使用的喔!尤其是在后头会介绍的 make 相关的用法时,更是重要的很呐! ^_^

阅读(1414) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~