gcc使用手册

  • 一般options
  • 优化options
  • 警告options
  • 制作库文件options

gcc [options] [filename]
编译更多例子请查看: C语言编译流程

一般options

-c :只编译不链接,生成目标文件.o;
-S :只编译不汇编,生成汇编码;
-E :只预处理;
-g :生成调试信息;
-o file:生成目标文件.o或可执行文件;
-v:查看gcc版本;
--std=name //name: c89, c90, c99, c1x, c11;
-l dir 头文件;

例子1

gcc -o bin/hello src/hello.c

例子2

gcc -o bin/hello.o -c src/hello.c
gcc -o bin/hello obj/hello.o

优化options

-O :即-O1,优化栈退出,线程跳转,减少代码长度和执行时间;
-O2 :O1 + CPU指令调度和调整;
-O3 :O2 + 循环展开,CPU特性优化;

测试优化命令

time > ./hello

警告options

-ansi :支持符合ANSI的标准;
-pedantic :允许发出ANSI全部警告信息;
-pedantic-error :允许发出ANSI全部错误信息;
-w :关闭所有警告信息;
-Wall :允许发出gcc所有提供all有用报警信息;

制作库文件options

-L dir :在库文件搜索路径列表中添加dir目录;
-static :链接静态库;
-lname :链接名为name的库文件;
-shared :表明是使用共享库;

Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《gcc使用手册》: http://blog.csdn.net/u014134180/article/details/78309058

如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。

时间: 2024-08-31 04:24:01

gcc使用手册的相关文章

windows下使用vim(gVim)和gcc(MinGW):C/C++/Fortran/ObjC/Ada Compiler

windows下使用vim(gVim)和gcc(MinGW)像linux下一样编写c程序: linux下vim的功能超强大的文本编辑器;linux写C语言的使用gcc的; windows下能使用vim和gcc来开发C语言程序? 1. 准备vim这个编辑器.在windows下有一个很优秀的gVim文本编辑器,功能与linux的一样,而且更强大. 2. 准备gcc编译器.像C-Free支持的编译器类型是MinGW,标准c,在"\MinGW\bin"的bin目录下,有gcc,g++,gdb等

gcc boost版本冲突解决日记

问题背景 项目在Ubuntu10 64位 boost 1.55,boost采用的是项目内包含相对目录的形式部署 项目采用了 -Wall -Wextra -Werror -Wconversion 最高的告警选项 单独测试是可以的 由于项目中包含的内容很多,头文件超多,因此只能选取1个简单的分支进行测试,可以再现问题,通过各种猜测和测试,最终定位到: 有GCC push_option对boost/thread进行处理后,stl容器使用完全异常[如 map<int,string>空内容时begin(

谈谈Objective-C的警告

一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样. --@onevcat 重视编译警告 现在编译器有时候会很吵,而编译器给出的警告对开发者来说是很有用的信息.警告不会阻止继续编译和链接,也不会导致程序不能运行,但是很多时候编译器会先你一步发现问题所在,对于Objective-C来说特别如此.Clang不仅对于明显的错误能够提出警告(比如某方法或者接口未实现),也能对很多潜在可能的问题做出提示(比如方法已经废弃或者有问题的转换),而这些问题在很多时候都可能成为潜在的致命错误

C++反汇编代码分析–函数调用

转载:http://shitouer.cn/2010/06/method-called/ 代码如下:#include "stdlib.h" int sum(int a,int b,int m,int n){ return a+b; } void main(){ int result = sum(1,2,3,4); system("pause"); } 有四个参数的sum函数,接着在main方法中调用sum函数.在debug环境下,单步调试如下: 11:   void

GCC简单入门手册

本文可能会让你失望,如果你有下列疑问的话:为什么要在终端输命令啊? GCC 是什么东西,怎么在菜单中找不到? GCC 不能有像 VC 那样的窗口吗?-- 那么你真正想要了解的可能是 anjuta,kdevelop,geany,code blocks,eclipse,netbeans 等 IDE 集成开发环境.即使在这种情况下,由于 GCC 是以上 IDE 的后台的编译器,本文仍值得你稍作了解. GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编

MySQL中文参考手册5(安装MySQL下)

mysql|参考|参考手册|中文 MySQL中文参考手册5(安装MySQL下)转载 译者:晏子 [返回][转发] 译者:晏子 (clyan@sohu.com)主页:http://linuxdb.yeah.net 4.12 Win32 注意事项这节描述在Win32上安装和使用MySQL,这也在MySQL Win32分发所带的"readme"文件中描述.  4.12.1 在Win32上安装MySQL如果你没有一个注册的MySQL版本,你应该首先下载共享软件版本,从:  MySQL 3.21

MySQL中文参考手册5(安装MySQL上)

mysql|参考|参考手册|中文 MySQL中文参考手册5(安装MySQL上)转载 译者:晏子 [返回][转发] 译者:晏子 (clyan@sohu.com)主页:http://linuxdb.yeah.net4 安装MySQL本章描述怎样获得并安装MySQL:  对于你能从其获得MySQL的站点列表,见4.1 怎样获得MySQL. 要了解支持哪些平台,见4.2 MySQL支持的操作系统. 可获得MySQL的多个版本,以二进制代码和源代码形式分发.为了确定你应该使用的分发的版本和类型,见4.4 

Redhat7.2(7.1)下oracle8.17的安装手册

oracle Redhat7.2(7.1)下oracle8.17的安装手册 一. 软件配置过程1. 安装glibc 2.1包 glibc2.1版本(GNU C Library,18M)下载地址: ftp://ftp.kernel.org/pub/software/libs/glibc/hjl/sdk/2.1/i386-glibc-2.1-linux.tar.gz 下载后都放到了/backup目录 从RedHat7.0以后的版本,安装的是glibc2.2.Oracle 8I不能使用glibc 2.

PostgreSQL clang &amp; gcc

PostgreSQL clang vs gcc 编译 作者 digoal 日期 2016-11-04 标签 PostgreSQL , clang 背景 CLANG是一个不错的编译器,本文将介绍一下使用CLANG编译以及它的优化开关,如何编译PostgreSQL,同时对比一下GCC 4.4.6版本的性能. 安装clang 安装clang,需要更高版本的gcc来进行编译. 安装gcc 找一个比较快的镜像下载源码包 https://gcc.gnu.org/mirrors.html ftp://ftp.