Chinaunix首页 | 论坛 | 博客

分类: 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 相关的用法时,更是重要的很呐! ^_^

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