精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

把其他C/C 编译器集成到VC2005中

把其他C/C 编译器集成到VC2005中

  


                   在Visual C   2005中,如何调用其它编译器编译cpp文件呢? 换句话说,如何把其它编译器集成到VC2005的IDE中呢?


象IIC这样的编译器安装之后会自动集成进来,要集成其他编译器那还得自己动手。下面介绍一种简单的方法。


另外,在VC2005的IDE中是不能编译单个。cpp文件的,除非把它放在工程中。但是,我们可以通过调用外部工具实现编译单文件。


把cl.exe添加到外部工具的方法这里就不介绍了,大家参照下面添加gcc的方法,再查阅cl.exe的参数说明,就能试着添加进来。


下面以调用G  为例说明如何编译cpp文件。如果要编译单个。c文件,使用gcc即可,方法同理。


首先获取Windows版的 GNU C   Compiler (g  )。你可以通过安装 Cygwin 或者 MinGW 来获得 g   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  程序自然是无法通过编译的。


如果编译没有出错,对于早期版本的g  而言,Output window是没有任何输出的。


而对于较新版本的g  ,将输出类似以下的信息:


# cc1plus 0.67 0.22


# as 0.05 0.01


# collect2 0.36 0.19


这是 -time 报告的编译过程中每个子过程所占用的CPU时间。


当然,你还可以更改编译参数,使输出窗口输出其他编译信息。


我们还可以通过添加外部工具来实现运行g  生成的程序的功能。步骤如下:


在VC2005的菜单点击“工具(Tools) -> 外部工具(External Tools) -> 添加(Add)”。


  


                  


分别填入:


标题(Title): Run as C   Application


命令(Command): %systemroot%\system32\cmd.exe


参数(Arguments): /c $(ItemFileName)。exe


初始目录(Initial directory): $(ItemDir)


不要钩选下面的“使用输出窗口”和“退出时关闭”。


注意:cpp文件必须放在工程中,g  生成的程序才能被运行!


另外,用MinGW的g  编译的程序不能在没有安装MinGW的Windows系统上运行。因为它依赖于MinGW库。


即便是通过VC2005编译出的不带预编译头的Win32控制台应用程序,也就是用空环境,这样编译出来的可执行文件也不是放在哪台机子都能跑的。


下面讲讲如何设置快捷键。


点击菜单中的"工具->自定义",


点击右下角的 "键盘",


点击 "按快捷键[/img]


按下 Shift   Ctrl   F7, 如果这个快捷键已经分配给了其他的命令,更换一个即可。


在"显示命令包含[/img]


点"确定",再点“关闭”。


这样就给 GNU C   Compiler 分配了快捷键 Shift   Ctrl   F7


注意刚才是在GNU C   Compiler 位于 外部工具菜单的第6项的情况下,在"显示命令包含[/img]


同理,我们可以给 Run as C   Application 分配一个快捷键。


再讲讲如何分配一个工具条。


点击菜单中的"工具->自定义", 点击 "工具栏[/img]


点击“新建”,


在工具栏名称中填入“g  ”,


切换到 "命令[/img]


点击 "类别[/img]


在右边的命令把 “外部命令6” 拖动到刚才建立的g  工具条上。


先不要关闭 "自定义[/img]


下面单击g  工具条上的 GNU C   Compiler 按钮


再点击自定义 对话框 中的 “修改选中的内容”按钮,设置工具条中按钮的名称和文字等属性。


Run as C   Application 也可以通过这种方式放到g  工具条中。


通过这样的集成,为初学者学习纯C  提供了便利。我认为,对于标准C  的初学者而言,不能认为用VC编译通过就万事大吉了。用g  编译检查一次是必要的。现在我们只需要按一下快捷键,就知道了这份代码是否能通过其它编译器,例如g  ,的编译,不用再切换到命令行来重新编译程序。


但是若想把g  的输出结果输出到错误列表,或者是用VC的IDE来调试g  生成的程序,应该是绝无可能了。其实也没什么必要。个人认为。


感觉g  的错误提示比VC要智能得多,这有利于我们快速地找到问题的根源。


如果感兴趣,你还可以把make.exe等添加到VC2005的外部工具中,以实现编译整个工程的目标。当然,在工程中少不了makefile.


GDB.exe也是可以集成进来的,不过不要忘了参数(Arguments)应为 -g -Wall -o $(ItemFileName) $(ItemFileName)$(ItemExt) -time,其中参数 -g 生成调试信息。GNU 调试器可利用该信息。

TOP

发新话题