GCC选项
-g:
Debugging Option. 提供给GDB的debugging信息的选项;
-fno-omit-frame-pointer:
Optimization Option;
-Wstrict-prototypes:
Warning Option. 当Linux内核在体系结构差异较大的平台移植时,会产生与数据类型相关的问题,在编译内核事,使用该选项,可以避免很多错误产生。(C and Object-C Only Warning Option)
-Wundef:
Warning Option. Warn if an undefined identifier is evaluated in an '#if' directive;
-Wtrigraphs:
Warning Option. Warn if any trigraphs are encountered that might change the meaning of the program. This warning is enabled by -Wall;
-fstrict-aliasing:
Optimization Option. Enabled at the levels -O2, -O3, -Os;(not allowed by -fno-strict-aliasing)
-fno-common:
Options for Code Generation Conventions. In C code, controls the placement of uninitialized global variables. Unix C compilers have traditionally permitted multiple definitions of such variables in different compilation units by placing the variables in a common block. This is the behavior specified by -fcommon, and is the default for GCC on most targets. On the other hand, this behavior is not required by ISO C, and on some targets may carry a speed or code size penalty on variable references. The -fno-common option specifies that the compiler should place uninitialized global variables in the data section of the object file, rather than generating them as common blocks. This has the effect that if the same variable is declared (without extern
) in two different compilations, you get a multiple-definition error when you link them. In this case, you must compile with -fcommon instead. Compiling with -fno-common is useful on targets for which it provides better performance, or if you wish to verify that the program will work on other systems that always treat uninitialized variable declarations this way.
-foptimize-sibling-calling:
Optimization Option. Optimize sibling and tail recursive calls.(not allowed by -fno-strict-aliasing)
-nostdinc:
Preprocessor Option. Do not search the standard system directories for header files. Only the directories you have specified with -I options (and the directory of the current file, if appropriate) are searched.
-meabi:
支持软件浮点和硬件实现浮点功能混用;
-ffreestanding:
C Dialect Option. Assert that compilation targets a freestanding environment. This implies -fno-builtin. A freestanding environment is one in which the standard library may not exist, and program startup may not necessarily be at main
. The most obvious example is an OS kernel. This is equivalent to -fno-hosted.
-isystem dir:
Preprocessor Option. Search dir for header files, after all directories specified by -I but before the standard system directories. Mark it as a system directory, so that it gets the same special treatment as is applied to the standard system directories. If dir begins with =
, then the =
will be replaced by the sysroot prefix; see -sysroot and -isysroot.
-pipe:
Overall Option. Use pipes rather than temporary files for communication between the various stages of compilation. This fails to work on some systems where the assembler is unable to read from a pipe; but the GNU assembler has no trouble.
-mregnames:
Allow symbolic names for registers.(Disallow by -mno-regnames)
-fexceptions:
Code Generation Option. Enable exception handling. Generates extra code needed to propagate exceptions. For some targets, this implies GCC generates frame unwind information for all functions, which can produce significant data size overhead, although it does not affect execution. If you do not specify this option, GCC enables it by default for languages like C++ that normally require exception handling, and disables it for languages like C that do not normally require it. However, you may need to enable this option when compiling C code that needs to interoperate properly with exception handlers written in C++. You may also wish to disable this option if you are compiling older C++ programs that don't use exception handling.
-ffixed-reg:
Code Generation Option.Treat the register named reg as a fixed register; generated code should never refer to it (except perhaps as a stack pointer, frame pointer or in some other fixed role).reg must be the name of a register. The register names accepted are machine-specific and are defined in the REGISTER_NAMES
macro in the machine description macro file.This flag does not have a negative form, because it specifies a three-way choice.
-mhard-float:
输出包含浮点指令;
参考文献:
[1] arm oabi eabi[2] http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html[3] as 便携式GNU汇编
GCC选项的更多相关文章
- gcc选项-g与-rdynamic的异同
摘自http://www.tuicool.com/articles/EvIzUn gcc选项-g与-rdynamic的异同 gcc 的 -g ,应该没有人不知道它是一个调试选项,因此在一般需要进行程序 ...
- gcc选项-g与-rdynamic的异同_转
转自:http://www.tuicool.com/articles/EvIzUn gcc 的 -g ,应该没有人不知道它是一个调试选项,因此在一般需要进行程序调试的场景下,我们都会加上该选项,并且根 ...
- 常用gcc选项
<Linux GCC常用命令> Makefile有三个非常有用的变量.分别是$@,$^,$<代表的意义分别是: $@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件 ...
- GCC选项_-Wl,-soname 及 DT_NEEDED 的解释
-Wl选项告诉编译器将后面的参数传递给链接器. -soname则指定了动态库的soname(简单共享名,Short for shared object name) soname的关键功能是它提供了兼容 ...
- GCC选项之-M
大多数的C/C++编译器都支持一个“-M”的选项,即自动找寻源文件中包含的头文件.举个例子,比如mian.c包含有如下头文件. #include <stdio.h> #include &q ...
- 【转载】 GNU GCC 选项说明
GCC 1 Section: GNU Tools (1) Updated: 2003/12/05 Sponsor: GCC Casino Winning Content NAME gcc,g++-GN ...
- gcc选项 笔记
gcc –E hello.c –o hello.i 使用gcc的选项"-E" 让gcc在预处理结束后停止编译过程. gcc –S hello.i –o hello.s &q ...
- GCC选项 –I,-l,-L
-I:指定第一个寻找头文件的目录 -L:指定第一个寻找库文件的目录 -l:表示在库文件目录中寻找指定的动态库文件 例: gcc –o hello hello.c –I /home/hello/incl ...
- Linux下动态链接库 与gcc 选项
-L 编译时查找动态链接库的路径 -lxxx(小写) e.g -lcudart = link libcudart.so , -I(大写) 头文件的路径 -rpath (-R), 编译时指定链接 ...
随机推荐
- 解决Ubuntu下 Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
Ubuntu下CMake 编译时出现问题:Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 查找发现 # sudo apt-g ...
- Redis和Memcached对比
Redis和Memcached对比 这两年 Redis火得可以,Redis也常常被当作 Memcached的挑战者被提到桌面上来.关于Redis与Memcached的比较更是比比皆是.然而,Redis ...
- WebView加载本地Html文件并实现点击效果
Webview是用来与前端交互的纽,可以加载本地Html文件,和网页并实现交互的功能. WebView通过WebSetting可以使用Android原生的JavascriptInterface来进行j ...
- oracle 同时更新(update)多个字段多个值
--创建表A,B: create table A (a1 varchar2(33),a2 varchar2(33),a3 varchar2(33)); create table B (b1 varch ...
- C#将Enum枚举映射到文本字符串
介绍 当将以前的C代码移植到C#中时,我快发疯了,因为有很多的数组需要将常量映射到字符串.当我在寻找一个C#的方法来完成的时候,我发现了一个自定义属性和映射的方法. 如何使用代码? 对每一个enum枚 ...
- log4net配置与初始化
1.配置文件: <?xml version="1.0" encoding="utf-8" ?> <configuration> &l ...
- asp.net用url重写URLReWriter实现任意二级域名
本文转自 http://www.cnblogs.com/notus/archive/2007/03/13/673222.html
- 搭建DHCP服务器以及DHCP中继服务器
一.DHCP服务器 1.首先配置DHCP服务器的IP地址(DHCP服务器网卡桥接在VMnet1) .配置好IP后重启DHCP服务 3.安装DHCP服务器,在这里我用的是YUM安装的(关于YUM ...
- canvas事件
canvas的事件只能监听在canvas标签上,而不嗯那个想其他dom元素那样,所以针对canvas里面的图形监听事件是比较麻烦的. 通过isPointInPath(x,y); 这个方法用于判断某一 ...
- 咏南IOCP REST中间件
咏南IOCP REST中间件 让DELPHI7也能编写REST服务. 使用IOCP通信+UNIDAC数据库引擎. 客户端跨开发语言调用.