编译器中常见的编译选项
来源:互联网 发布:淘宝国际中转站 编辑:程序博客网 时间:2024/06/02 01:05
安装好GCC后,又进一步研究了它的使用。
首先我建立了一个test.cpp的文件。放在电脑的F盘中。源代码如下:
# include <stdio.h>main(){int a,b;scanf("%d%d",&a,&b);int c = a+b;printf("%d%d\n",c);}
在dos命令行中,编译一下:gcc test.c 程序没有输出,代表一切均好。检查目录(Windows 下用dir),会发现多了一个a.exe,这就是程序的编译结果。
下面的命令会让编译出的可执行程序名为 test.exe : gcc test.cpp -o test。
也许上面的源代码我们能一眼看出哪里出了错误,但当程序复杂时,就不一定了。这时,编译选项就能帮忙:gcc test.cpp -o test -Wall.
这下编译器就会指出3个警告:main 函数没有返回类型、没有返回值、printf的格式字符串可能有问题。
还有一些常用的编译选项:(不会用……╮(╯▽╰)╭写上先留着吧)
-ansi-pedantic:检查代码是否符合ANSI标准(-ansi只是判断是否和ANSI冲突,而-pedantic更加严格)。
它进一步指出了上述代码中的另一个“问题”:ANSI C中不允许临时声明变量,而必须在语句块的首部声明变量。
在C语言中,另一个常用的编译选项是-lm,它让编译器连接数学库,从而允许程序使用math.h中的数学函数。C++编译器会自动连接数学库,
但如果你的程序扩展名是.cpp,且不连接数学库,有时会有意想不到的结果。(啥结果啊(⊙o⊙)…??)
还有一个有用的选项是-DDEBUG,它在编译时定义符号DEBUG(可以换成其它,如-DLOCAL将定义符号LOCAL),这样,位于#ifdef DEBUG和#endif中间的语句会被编译。
而在通常情况下,这些语句将被编译器忽略(注意,不仅是不会执行,连编译都没有进行)。
- 编译器中常见的编译选项
- 工作中常见的GCC编译选项
- 编译器的编译选项解析
- gcc编译器的常见基本选项
- Solaris10的CC编译器部分编译选项
- 交叉编译器编译选项的测试
- aCC 编译器编译选项
- aCC 编译器编译选项
- CUDA中NVCC的编译器选项
- 如何在VC++编译器中进行编译选项配置
- HP-UX下aCC编译器的编译选项
- 编译器选项的查询和编译链接器介绍
- windows编程vs编译器-mdd、mtd编译选项的区别
- VC6.0中常见的条件编译命令(#ifdef ... #else ... #endif)---指示编译器谁该参与编译
- gcc编译中使用的编译选项
- Scala中常见的容器 Option(选项)
- vs2008中设置VC编译器的/clr选项
- VS2010中栈的大小可以通过编译器选项指定
- Android: 通过Runtime.getRuntime().exec调用底层Linux下的程序或脚本
- Linux操作系统下的多线程编程详细解析----条件变量
- AFNetworking速成教程
- jsp验证码
- poj-1743-Musical Theme
- 编译器中常见的编译选项
- java统计项目代码量及查找项目中特定词语出现的位置
- Boosting和Bagging
- atol 函数
- 从头开始整理
- Android之数据存储技术实现
- 黑客△QQ 】914605373★QQ空间钓鱼免杀源码/客服‖“914605373‖
- Android下使用tcpdump进行抓包并使用wireshark分析(图文)
- 第三十四章:格子取数问题