`

gcc常用参数,备忘

阅读更多

gcc常用参数,备忘收藏

1. 头文件
象conio.h应该变成curses.h

2. 没有itoa函数
itoa?不对吧,标准C/C++里根本没有这个函数。即使在Windows平台下某些编译器提供了该函数[3],没有任何移植性不说,还只能解决int类型(也许其他函数还可以解决long、unsigned long等类型),浮点类型又怎么办?当然,办法还是有,那就是:sprintf。

char s[100];
sprintf(s, "%f", 123.123456);

3. 关于sqrt,sin和cos函数
就算是引入math.h头文件,也不会找到sqrt,sin和cos函数。应该用链接库来解决。
有时候我们使用了某个函数,但是我们不知道库的名字,这个时候怎么办呢?很抱歉,对于这个问题我也不知道答案,我只有一个傻办法.首先, 我到标准库路径下面去找看看有没有和我用的函数相关的库,我就这样找到了线程(thread)函数的库文件(libpthread.a). 当然,如果找不到,只有一个笨方法.比如我要找sin这个函数所在的库. 就只好用 nm -o /lib/*.so|grep sin>~/sin 命令,然后看~/sin文件,到那里面去找了. 在sin文件当中,我会找到这样的一行libm-2.1.2.so:00009fa0 W sin 这样我就知道了sin在 libm-2.1.2.so库里面,我用 -lm选项就可以了(去掉前面的lib和后面的版本标志,就剩下m了所以是 -lm).

4. Makefile出现missing separator的错误
原因是目标声明行下面的命令行必须用Tab键分开(而不是空格)

PG: PG.o
[ Tab键 ]gcc -o PG -O -O2 -lm /lib/ld-2.2.93.so PG.o
PG.o: PG.c pointgroup.h
[ Tab键 ]gcc -c -O -O2 PG.c
clean:
[ Tab键 ]rm -f *.o

5. 注意文件的DOS格式字符
调试的时候应该注意文件可能有DOS格式字符,必须先用如下命令去掉文件中的DOS格式字符:
tr -d <file> tmp_file
mv tmp_file <file>

附:
*******************************************************
gcc 常用命令行列表 
*******************************************************
http://www.chinaunix.net 作者:wayne168  发表于:2003-04-19 16:02:55

-o FILE 
指定输出文件名,在编译为目标代码时,这一选项不是必须的。如果FILE没有指定,缺省文件名是a.out.

-c 
只编译不链接

-DFOO=BAR 
在命令行定义预处理宏FOO,其值为BAR

-IDIRNAME 
将DIRNAME加入到头文件的搜索目录列表中

-LDIRNAME 
将DIRNAME加入到库文件的搜索目录列表中,缺省情况下gcc 只链接共享库

-static 
链接静态库,即执行静态链接

-lFOO 
链接名为libFOO的函数库

-g 
在可执行程序中包含标准调试信息

-ggdb 
在可执行程序中包含只有GNU debugger才能使别的达两条是信息

-O 
优化编译过的代码

-ON 
指定代码优化的级别为N,o<=N<=3

-ansi 
支持ANSI/ISO C的标准语法,取消GNU的语法扩展中与该标准有冲突的部分 
(但这一选项并不能保证生成ANSI兼容的代码)

-pedantic 
允许发出ANSI/ISO C标准所列出的所有警告

-pedantic -errors 
允许发出ANSI/ISO C标准所列出的所有错误

-traditional 
支持Kernighan & Ritchie C语法(如用旧式语法定义函数);如果不知道这个选项的含义,也没有关系

-w  
关闭所有警告,建议不要使用此项

.Wall 
允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告

-werror 
把所有警告转换为错误,以在警告发生时中止编译过程                              

-MM 
输出一个make兼容的相关列表

-v 
显示在编译过程的每一步中用到的命令

分享到:
评论

相关推荐

    arm-linux-gcc常用参数讲解gcc编译器使用方法参照.pdf

    在使用GCC编译器时,通常会涉及到一系列的参数,这些参数有助于控制编译过程的不同阶段,以及优化生成的代码。以下是针对这些参数的详细解释: 1. **预处理阶段**:在这一阶段,编译器执行`-E`参数,处理`#include`...

    gcc常用参数详解

    gcc 常用参数详解 gcc 是 GNU 编译器集合中的 C 和 C++ 编译器,它提供了许多参数来控制编译过程。在本文中,我们将详细介绍 gcc 的一些常用参数。 -x language 该参数用于指定文件所使用的语言,使后缀名无效。...

    arm-linux-gcc常用参数讲解gcc编译器使用方法.pdf

    为了更好地使用 arm-linux-gcc 编译器,需要了解其编译过程和常用参数。 arm-linux-gcc 编译过程分为四个阶段:预处理(Pre-Processing)、编译(Compiling)、汇编(Assembling)和链接(Linking)。在使用 GCC ...

    gcc常用参数(静动态链接 优化 调试)

    ### gcc常用参数详解 ...通过以上对GCC参数的详细介绍,我们可以更好地理解如何使用GCC来进行高效的编译和链接工作。无论是对于初学者还是高级用户来说,掌握这些参数都能极大地提高开发效率和代码质量。

    arm-linux-gcc 常用参数讲解

    ### arm-linux-gcc 常用参数讲解 #### 概述 `arm-linux-gcc` 是一种用于开发针对 ARM 架构 Linux 平台应用程序的交叉编译器。本文档旨在详细阐述 `arm-linux-gcc` 的一些常用参数及其使用场景,帮助开发者更好地...

    gcc参数详解 gcc参数详解

    gcc参数详解 gcc参数详解 gcc参数详解 gcc参数详解

    Gcc 常用选项参数解释

    在日常开发中,我们常常会遇到一些常用的选项参数来控制GCC的行为,以下是一些关键参数的详细解释: 1. `-c`:这个选项告诉GCC仅编译源代码,生成相应的对象文件(.o文件),但不进行链接步骤。这对于构建大型项目...

    GCC编译器参数详解

    GCC 编译器参数详解 GCC 编译器是 GNU 项目中的一部分,是一个功能强大且广泛使用的编译器。GCC 编译器提供了多种参数来控制编译过程,这些参数可以根据需要进行选择和组合,以满足不同的编译需求。 1. 语言选择...

    arm-linux-gcc常用参数讲解gcc编译器使用方法[参考].pdf

    本文将详细介绍`arm-linux-gcc`的一些常用参数及其作用,帮助理解编译过程的不同阶段,并提供如何控制编译行为的指导。 1. **编译过程**: - **预处理(Pre-Processing)**:此阶段处理`#include`指令,展开宏定义,...

    gcc编译参数的顺序问题

    gcc编译参数的顺序问题 gcc编译参数的顺序问题 gcc编译参数的顺序问题

    gcc 常用编译选项参数

    在实际工作中,掌握一些常用的GCC编译选项参数,能够极大地提高开发效率和代码质量。** ### **1. `-c` 参数** 该选项告诉GCC只编译源代码,不链接生成可执行文件。这通常用于预编译头文件或在大型项目中分步骤构建...

    gcc参数详解--linux

    GCC 参数详解 GCC(GNU Compiler Collection)是 GNU 开源项目中的一部分,作为一个功能强大且广泛使用的编译器,GCC 对于 C 和 C++ 等语言的编译提供了强大的支持。GCC 参数详解是 GCC 在执行编译工作时的步骤,...

    GCC参数大全资料合集,各种技巧

    **GCC参数大全资料合集** GCC(GNU Compiler Collection),是GNU项目的一部分,是一个开源的、跨平台的编译器套件,支持C、C++、Objective-C、Fortran、Ada和Go等多种编程语言。它提供了丰富的编译选项,使得...

    GCC手册 包含GCC的各种参数讲解

    手册是学习GCC的重要资源,其中详细解释了GCC的各种参数和选项,这些参数可以影响编译过程,如优化级别、错误警告、输出文件名、目标平台等。例如,"-O2"是常用的优化选项,用于提高代码运行效率;"-Wall"则会开启...

    常用参数讲解 gcc

    ### 常用参数讲解 gcc #### 概述 在Linux环境下,`gcc`(GNU Compiler Collection)作为一套广泛使用的编译工具集,为开发者提供了丰富的功能与灵活性。特别是对于那些需要跨平台编译的应用场景,`gcc`更是不可或...

    GCC常用命令大全详解

    本文将深入探讨GCC/G++的常用命令及其应用。 1. **编译基本命令:**`gcc [选项] [源文件] -o [目标文件]` - `gcc`或`g++`是启动编译器的命令。 - `-o`参数指定输出的可执行文件名。 - 源文件是包含C或C++代码的`...

    gcc参数详解

    ### gcc参数详解:深入理解GCC编译器的高级配置 GCC(GNU Compiler Collection)作为一款功能强大的开源编译器集合,被广泛应用于多种操作系统和编程语言的开发中。本文将根据给定的“gcc参数详解”文件内容,深入...

    Linux GCC常用命令.docx

    ### Linux GCC常用命令知识点详解 #### 一、GCC概述 GCC (GNU Compiler Collection) 是一套由 GNU 开发的编译工具集,最初是为了支持 C 语言的编译工作而设计的。随着时间的发展,GCC 已经扩展支持了多种编程语言,...

    GCC参数介绍.doc

    GCC 参数介绍 GCC(GNU Compiler Collection)是一套功能强大且广泛使用的编译器套件,它支持多种编程语言,包括 C、C++、Objective-C、Fortran 等。GCC 编译器提供了许多参数选项,可以根据需要进行自定义,以提高...

Global site tag (gtag.js) - Google Analytics