gcc基本的使用方法及常用指令
2007-12-18 20:38
423 查看
gcc基本的使用方法及常用指令
前言
编译器在编译过程中,先将程式码编译成 object 档,然后再和程式库联结,成为可执行档。故一个编译器须提供的参数主要有几类:
1.指定编译器编出的object 档或是可执行档档名。
2.在编译过程做最佳化,可提升程式的执行速度。
3.设定搜寻程式库的标头档 (header file) 及程式库档的目录及指定程式库档档名。
提供进一步的资讯以便使用者找寻程式中的错误。
[@more@]
以下便以这四个大类分别介绍。
注意:下面在不同类别中所介绍的参数,几乎都可以混合著使用。
1.设定编译出的 object 档档名或是可执行档档名:
参数: -o out_put_filename
说明: 指定编译出的档名为 out_put_filename。
范例: 本例将程式码 'test.c' 编译成可执行档,并设定档名为 'test'。
gcc test.c -o test
2.在编译过程做最佳化
参数: -O
说明: 在编译过程做最佳化,以提升增快程式执行速度。
范例: 本例将程式码 'test.c' 编译成可执行档 'test',并在编译过程做最佳化'。
gcc -O test.c -o test
3.设定搜寻标头档目录、程式库档的目录及指定程式库档。
3.1设定搜寻标头档目录
参数: -Idir_name
说明: 将目录 'dir_name' 设定为搜寻标头档目录之一。
3.2设定搜寻程式库目录。
参数: -Ldir_name
说明: 将目录 'dir_name' 设定为搜寻程式库目录之一。
3.3设定程式库档案。
参数: -lname
说明: 联结程式库 libname.a 。
范例一:本例中假设你的程式档名为test.c,数学函数如 sin等,所要联结的程式库为 libm.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
范例二:本例中假设你的程式档名为 test.c,使用到 X window 函数,所需的 include 档放在 /usr/X11R6/include 中,所须联结的程式库放在 /usr/X11R6/lib,所要联结的程式库为 libX11.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
提供进一步的资讯以便使用者找寻程式中的错误。
参数: -Wall
说明: 输出较多的警告讯息,以便找出程式的错误。
范例: 编译 test.c 时输出较多的警告讯息。
gcc -Wall test.c
参数: -g
说明: 在编译出可执行档时,附加执行时除错资讯,以供 gdb 读取 (若要使用 ABSoft 的除错程式,则须将参数改为 -gdwarf )。
范例: 将 'test.c' 编译成可执行档 'test',并附加除错资讯。
gcc -g test.c -o test
进阶参数
1. 仅编译成 object 档。
参数: -c
说明: 仅编译成 object 档而不进行程式库联结。
范例: 将 test.c 编译成 object 档 test.o。
gcc -c test.c -o test.o
2. 联结数个 object 成可执行档。
范例: 将 'test1.o'、'test2.o' 和程式库联结后成为可执行档 test。
gcc test1.o test2.o -o test
3. 观察宏展开情形:
参数: -E
说明:展开程式中的宏以便了解巨集是否依照预期方式展开。
范例:将 test1.c 中的宏展开后储存到 test1.c.ext 。
gcc -E test1.c > test1.c.ext
4. 产生组合语言程式码:
参数: -S
范例:编译 test.c 产生对应的组合语言程式码档 test.s。
gcc -S test.c -o test.s
前言
编译器在编译过程中,先将程式码编译成 object 档,然后再和程式库联结,成为可执行档。故一个编译器须提供的参数主要有几类:
1.指定编译器编出的object 档或是可执行档档名。
2.在编译过程做最佳化,可提升程式的执行速度。
3.设定搜寻程式库的标头档 (header file) 及程式库档的目录及指定程式库档档名。
提供进一步的资讯以便使用者找寻程式中的错误。
[@more@]
以下便以这四个大类分别介绍。
注意:下面在不同类别中所介绍的参数,几乎都可以混合著使用。
1.设定编译出的 object 档档名或是可执行档档名:
参数: -o out_put_filename
说明: 指定编译出的档名为 out_put_filename。
范例: 本例将程式码 'test.c' 编译成可执行档,并设定档名为 'test'。
gcc test.c -o test
2.在编译过程做最佳化
参数: -O
说明: 在编译过程做最佳化,以提升增快程式执行速度。
范例: 本例将程式码 'test.c' 编译成可执行档 'test',并在编译过程做最佳化'。
gcc -O test.c -o test
3.设定搜寻标头档目录、程式库档的目录及指定程式库档。
3.1设定搜寻标头档目录
参数: -Idir_name
说明: 将目录 'dir_name' 设定为搜寻标头档目录之一。
3.2设定搜寻程式库目录。
参数: -Ldir_name
说明: 将目录 'dir_name' 设定为搜寻程式库目录之一。
3.3设定程式库档案。
参数: -lname
说明: 联结程式库 libname.a 。
范例一:本例中假设你的程式档名为test.c,数学函数如 sin等,所要联结的程式库为 libm.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
范例二:本例中假设你的程式档名为 test.c,使用到 X window 函数,所需的 include 档放在 /usr/X11R6/include 中,所须联结的程式库放在 /usr/X11R6/lib,所要联结的程式库为 libX11.a。
gcc -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 test.c -o test
提供进一步的资讯以便使用者找寻程式中的错误。
参数: -Wall
说明: 输出较多的警告讯息,以便找出程式的错误。
范例: 编译 test.c 时输出较多的警告讯息。
gcc -Wall test.c
参数: -g
说明: 在编译出可执行档时,附加执行时除错资讯,以供 gdb 读取 (若要使用 ABSoft 的除错程式,则须将参数改为 -gdwarf )。
范例: 将 'test.c' 编译成可执行档 'test',并附加除错资讯。
gcc -g test.c -o test
进阶参数
1. 仅编译成 object 档。
参数: -c
说明: 仅编译成 object 档而不进行程式库联结。
范例: 将 test.c 编译成 object 档 test.o。
gcc -c test.c -o test.o
2. 联结数个 object 成可执行档。
范例: 将 'test1.o'、'test2.o' 和程式库联结后成为可执行档 test。
gcc test1.o test2.o -o test
3. 观察宏展开情形:
参数: -E
说明:展开程式中的宏以便了解巨集是否依照预期方式展开。
范例:将 test1.c 中的宏展开后储存到 test1.c.ext 。
gcc -E test1.c > test1.c.ext
4. 产生组合语言程式码:
参数: -S
范例:编译 test.c 产生对应的组合语言程式码档 test.s。
gcc -S test.c -o test.s
相关文章推荐
- gcc基本的使用方法及常用指令
- gcc基本的使用方法及常用指令
- WdatePicker 日历控件使用方法+基本常用方法
- gdb基本使用方法及常用命令
- arm-linux-gcc 常用参数讲解 gcc编译器使用方法
- UIScrollView的基本使用和一些常用代理方法
- Linux 常用命令基本使用方法大总结
- WdatePicker 日历控件使用方法+基本常用方法
- gdb基本使用方法及常用命令
- Linux常用命令基本使用方法大总结
- gcc常用的使用方法
- gcc常用的使用方法
- 第十二天 eclipse基本使用及字符串的常用方法
- string基本字符序列容器(竞赛时常用的使用方法总结)
- WdatePicker 日历控件使用方法+基本常用方法
- gcc 基本使用方法
- GCC使用基本方法汇总
- Linux入门之二 GCC的基本使用方法
- MySql的基本操作以及以后开发经常使用的常用指令
- gcc编译器常用使用方法