GCC研究使用笔记
2006-12-06 18:24
323 查看
前言
这个博客好久没来更新了,罪过罪过啊……
现在打算和同学一起做个Online Judge玩,所以这几天先开始研究些相关知识,随手发点笔记上来,充充门面啦:)
GCC研究使用笔记
By BodeSmileAt: 2006/12/06
1、 GCC概念
GCC原本是一个用于Unix-like系统下的编译器。不过,现在也有了许多Win32下的GCC移植版本。比较常见的有MinGW和Cygwin。MinGW是Win32下开源的移植版本,主要支持的程序语言有:C,C++,Ada,Object C和Java等,另外可能还有些支持其他语言的扩展包。应该可以满足大多数的需要。
2、 GCC安装配置
MinGW的GCC不同与VS等大型集成开发环境,它是有很多实现不同子功能的功能包组成。用户可以按照不同的需要,来方便的扩展编译器的功能,从简单的诸如C/C++的编译链接,到调试工具、项目管理,都是由独立的功能包组成。所有这些包都可以从MinGW的官方网站上下载到,网址是: http://www.mingw.org/download.shtml 。当然,在那里也可以下载一个成套的解决方案,但这个不能满足我的定制需要,所以就不做说明了。
基本的功能包有以下几个:
gcc-core | 支持C的功能包,按字面解释也是一个基本核心包。 |
gcc-g++ | 支持C++的功能包,类似的还有gcc-java、gcc-ada等功能包。 |
binutils | 提供基本的汇编器,连接器等工具。 |
w32api | 提供Windows API支持,编译Windows程序所必需。 |
mingw-runtime | MinGW的运行库。 |
这个时候打开控制台程序,试着输入“gcc -v”的命令,如果有版本信息出现,则说明配置基本上成功了。至于有没有漏掉什么关键包,还要实际编译几次后才能知道。
3、 编译命令
以C/C++为例:最基本的编译C程序
gcc –o exename sourcefile.c
最基本的编译C++程序
g++ –o exename sourcefile.cpp
用-s开关可以缩小最终可执行文件的大小。
gcc –s –o exename sourcefile.c
g++ –s –o exename sourcefile.cpp
一个打印“Hello World”的c程序,一般生成为15.2K,加上-s开关后为5.5K。一个C++ 程序一般情况为454K(用iostream果然可怕),加上-s开关后为251K。效果显著啊。
用-O1、-O2、-O3进行优化,会使编译的时间和空间变大,但是生成代码的运行效率会提高。
比如:g++ -O3 -s -o exename sourcefile.cpp
参考资料:
MinGW – Home:http://www.mingw.org/
GCC中文手册:http://blog.csdn.net/rjycsdn/archive/2004/12/19/222125.aspx
GCC for Win32开发环境介绍:http://blog.csdn.net/VisionCat/archive/2006/05/07/711693.aspx
相关文章推荐
- gcc研究笔记(一)tree是什么
- gcc和gdb使用笔记
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- CSLA研究笔记: ErrorProvider的使用
- gcc研究笔记(二)cp和cpplib的接口
- 5-进一步研究使用libsvm的笔记
- OpenJDK源码研究笔记(十六):在Java中使用JavaScript脚本语言
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- gcc使用笔记
- gcc研究笔记(二)cp和cpplib的接口
- gcc研究笔记(三)libcpp中的宏扩展机制
- 转-gcc研究笔记(二)cp和cpplib的接口
- GCC 的使用笔记
- OpenJDK源码研究笔记(五)-缓存Integer等类型的频繁使用的数据和对象,大幅度提升性能(一道经典的Java笔试题)
- [原创]W2k Driving 学习笔记(二)使用GCC创建 Windows NT 下的内核DLL
- CEF3自研究笔记 一、使用CMake创建CEF3的vs2013的工程文件
- gcc研究笔记(三)libcpp中的宏扩展机制
- OpenJDK源码研究笔记(十六):在Java中使用JavaScript脚本语言
- gcc编译器使用学习笔记
- gcc与gdb使用学习笔记