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
arm-linux-gcc常用参数讲解gcc编译器使用方法.pdf
linux下的编译工具,常用的gcc命令参数详细解释,用法和每个参数的含义
arm-linux-gcc 常用参数讲解,描述了arm-linux-gcc使用时候的参数配置
arm-linux-gcc常用参数讲解gcc编译器使用方法[参考].pdf
gcc参数详解 gcc参数详解 gcc参数详解 gcc参数详解
介绍gcc下常用的一些参数,包括预编译、编译、汇编和链接,以及优化和调试。静态链接与动态链接的内容。绝对原创!!
Gcc 常用选项 -c 编译生成目标文件 -E 只做预处理而不编译,cpp命令也可以达到同样的效果 -Dmacro[=defn] 定义一个宏 -g 在生成的目标文件中添加调试信息,所谓调试信息就是源代码与指令之间的对应关系,在gdb调试和...
Linux GCC常用命令.docx Linux GCC常用命令参数介绍。
gcc编译参数的顺序问题 gcc编译参数的顺序问题 gcc编译参数的顺序问题
gcc参数很详细的介绍gcc参数很详细的介绍gcc参数很详细的介绍gcc参数很详细的介绍
一个较好的GCC编译器使用的参考资料,作为GCC学习的工作指导书,请好好的保留吧。
GCC 配置参数 GCC 配置参数 GCC 配置参数
linux下的编程指令 gcc的常用参数讲解 对gcc命令有个深入的了解
gcc编译选项五花八门层出不穷,运用80/20法则,仅需要掌握20%的常用编译选项参数,足以应付工作中80%的情况.
GCC/G++ 常用命令大全 linux GCC/G++ 命令大全 GCC/G++ 常用命令大全 linux GCC/G++ 命令大全
自己整理的GCC手册,包含GCC的各种参数讲解,不同环境下的makefile的写法,希望对大家有帮助.
gcc常用指令使用说明,gcc常用指令使用说明
GCC参数介绍. GCC参数介绍 GCC参数介绍.doc