常见的C/C++ 编译器和两个环境

来源:互联网 发布:mac如何接受共享日历 编辑:程序博客网 时间:2024/06/05 20:22
1. Visual C++:Windows平台上最流行的编译器,和VS集成的很好,编译效率和编译后的代码效率都不错,但是,除了比较好用之外,好象没有特别突出的...而且,支持的硬件平台好象只有X86的...

2. GCC/G++:开源的,Linux/Unix平台上的首选,而且支持N中硬件平台,如果想进行跨平台编译的话,这是一个不错的选择。
编译效率和编译后的代码效率都不错。据说Linux内核的开发者都用2.95版的,这个版本编译出来的C代码应该是效率最好的。

3. Borland C++:不少C++ Builder fans的最爱,和Visual C++旗鼓相当。说实话,这真是不错的编译器

4. 还有:跨平台编译环境 MinGw 即 Minimalist GNU For Windows,相当于windows下的GCC/C++,是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。
       在基本层,MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95 发行版以上的 Windows OS 有效,使用基本运行时间,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时间扩展。该功能是 Windows32 API 不具备的。下一个组成部分是 w32api 包,它是一组可以使用 Windows32 API 的包含文件和端口库。与基本运行时间相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 Windows32 API 功能。
    还可以看看这里:  http://blog.csdn.net/wzyzb/article/details/5414699
     用法和Linux下的GCC/C++差不多。转:
最常用到MinGW 程序是gcc(编译器链主程序),g++(c++编译器),gdb(调试器),objdump(一个很强的工具),然后一些不常用的ar(生成库文件),as汇编器,cpp(预处理器)什么的。。。具体用法可以参照*nux下的gcc,命令基本一样。例如有一份源代码a.c,编译的话可以调用:gcc -g -o a.exe a.cpp,-g表示带调试信息,-O?表示几级优化,-c表示只编译,-s表示只汇编,-I引用头文件,-L引用库文件,-x指定语言,然后调试的话,gdb a.exe载入程序,r运行,b设置断点,c继续,s单步,print,diaplay查看变量,q退出。
5.Windows下的Linux开发环境 Cygwin :

Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在Windows NT、Windows 2000、Windows XP以及Windows Server 2003上比较好,在Windows 95和Windows 98上,相对差劲一些。目前Cygwin由Red Hat等负责维护。

Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。2001年,新增了X Window System

与MinGW的库比较,MinGW可以跟Windows本地的MSVCRT库(Windows API)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。

但糟糕的是,Cygwin不支持Unicode。实际上,除了当前Windows系统以及OEM codepages(例如,一个俄语用户,他的codepages是CP1251CP866,而不能是KOI8-R、ISO/IEC 8859-5、UTF-8等),Cygwin对其他字符集都不支持。



原创粉丝点击