把其他C/C++编译器集成到VC2005中
引自 http://www.wangchao.net.cn/bbsdetail_625196.html
在Visual C++ 2005中,如何调用其它编译器编译cpp文件呢? 换句话说,如何把其它编译器集成到VC2005的IDE中呢?
象ICC这样的编译器安装之后会自动集成进来,要集成其他编译器那还得自己动手。下面介绍一种简单、浅层的“集成”方法。
你也许注意到了,在VC2005的IDE中是不能编译单个.cpp文件的,除非把它放在工程中。但是,我们可以通过调用外部工具实现编译单文件。
下面以调用G++为例说明如何编译单个.cpp文件。如果要编译单个.c文件,使用GCC即可,方法同理。
也许你现在还不知道G++。G++是GCC中的一员。GCC的含义是GNU编译器集合(GNU Compiler
Collection),包括C、C++、Objective-C、Fortran、Java、Ada连同与这些语言相配的库等。GCC被誉为
“世界上最重要的软件”。许多免费的编译器都是GCC的移植版 — MinGW(Minimalist GNU for
Windows)中携带的编译器就是如此。
以MinGW为例,我们可以下载Dev C++, Dev C++目前最新版为4.9.9.2。安装 Dev C++的同时就安装了MinGW,其中包含了 G++ 3.4.2.
假设 Dev C++ 安装在 D:\Dev-Cpp 目录下。
下面我们在VC2005的菜单点击 “工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。
分别填入:
标题(Title): GNU C++ Compiler
命令(Command): D:\Dev-Cpp\bin\g++.exe
参数(Arguments): -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time
初始目录(Initial directory): $(ItemDir)
再钩选下面的"使用输出窗口(Use Output window)".
说明:如果你已经把D:\Dev-Cpp\bin\目录添加到系统环境变量中,那么 Command指定为g++.exe即可。Cygwin同理。
这些参数只是一个参考。你可以查阅VC编译器的宏设置你需要的参数。
干脆顺带补充一下Digital Mars C++编译器的参考参数设置:
标题(Title): Digital Mars
命令(Command): C:\dm\bin\dmc.exe
参数(Arguments): $(ItemFileName) $(ItemFileName)$(ItemExt)
初始目录(Initial directory): $(ItemDir)
好,下面切换到main函数所在文件,点击工具(Tools)菜单下的“GNU C++ Compiler”开始编译。
注意g++此时编译的指是纯C++程序,对于包含 int _tmain(int argc, _TCHAR* argv[]) 这类VC特有的C++
相关文档:
文章记录了作者在S3C2440开发板上实现按键点亮LED驱动开发的详细过程,还记录了一些容易出现的错误,以及怎么解决这些错误。
一、驱动开发流程
Linux驱动开发不同于应用程序的开发。驱动开发是直接和硬件打交道的,通过对硬件的操作给应用程序提供一些接口函数,使得应用程序能够&l ......
C++内置对布尔类型的支持,其关键字是bool,C语言直到C99标准才增加了对布尔类型的支持,关键字为_Bool,因为bool已经被C++用了,所以选了这个十分奇怪的关键字。在这之前C程序员对布尔类型的模拟是相当混乱的。为了在C和C++程序中以统一的方式使用布尔类型,同时提高可移植性,可以采用下面的方式:
构造一个stdbool.h头文 ......
C/C++头文件一览 收藏
C/C++头文件一览
C、传统 C++
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#i ......
这篇文章是使用SQLite C/C++接口的一个概要介绍和入门指南。
由于早期的SQLite只支持5个C/C++接口,因而非常容易学习和使用,但是随着SQLite功能的增强,新的C/C++接口
不断的增加进来,到现在有超过150个不同的API接口。这往往使初学者望而却步。幸运的是,大多数SQLite中的C/C++接口是专用的,因而很少被
使用到。尽管 ......
嵌入到多个系统编程时常常出现编码问题,特别是中文,并且对于国标GB2312来说,不像UTF-8那样可以用算法直接转为unicode(传说是这么说的,我也没试过),所以GB到Unicode只能是一对一的转换。
以前碰到过GB转为Unicode的难题,在网上找到了源码,我只是修改了一下查找的代码,将查找算法改为二分查找。
&n ......