玩转轻巧型C/C++ IDE之C-Free(配置GCC、Visual C++、Borland C++编译器)

  之前在写一点简单的C/C++代码时习惯了VC++6.0,但是由于在windows7下VC6.0存在兼容性问题,因此只好放弃。在尝试了众多C/C++IDE之后,本文来推荐几个轻量级的IDE,如果是做工程,在windows下当然是推荐VS。

  目前大多数人在编写简单的C/C++代码时的工具选择主要有两种:1)一些文本编辑器(如vim、gedit、sublime、notepad++、editplus等)配上gcc;2)IDE。

  对于第一种选择我们今天暂时不进行讨论,感兴趣的朋友可以自行百度或者Google。下面重点推荐一些常见的轻量型IDE。

1)MinGW Developer Studio

  习惯了VC6.0++界面的朋友可以尝试一下这个IDE,它内置的是gcc编译器,界面和VC++6.0出奇地相似,启动速度也比较快。

  下载地址:http://koti.mbnet.fi/vaultec/mingwstudio.php

2)DEV-C++

  这个IDE相信大部分人不陌生,但是好像在发布了4.9版本之后,就没有进行更新了。后面由另外一个团队在负责更新,并更换了名字,改成了Orwell Dev-C++,DEV-C++内置的也是gcc编译器,总得来说,这款IDE还是非常不错的。

  下载地址:http://sourceforge.net/projects/orwelldevcpp/

3)CodeBlocks

  CodeBlocks是一款开源C/C++跨平台IDE,很多朋友对这款IDE情有独钟肯定有它的亮点之处,喜欢的朋友可以尝试一下。

  下载地址:http://www.codeblocks.org/

4)CodeLite

  CodeLite同样是一款开源C/C++跨平台IDE,它支持windows、linux和mac三大主流操作系统。

  下载地址:http://downloads.codelite.org/

5)C-Free

  C-Free是一款国人编写的C/C++IDE,它支持多种编译器设置,并且支持多种IDE的工程转换。

  下载地址:http://www.programarts.com/cfree_ch/index.htm

  总得来说,以上这5款轻量型IDE都是不错的选择,大家可以根绝自己的喜好和对界面风格的习惯性来选择。个人比较喜欢C-Free这款IDE,下面来讲解一下如何对C-Free进行配置,让自己写代码时更加舒心。

  由于C-Free 5.0内置的MinGW所带的gcc编译器是3.4.5版本的,非常古老,这里我建议对gcc编译器版本进行升级。下面讲解一下如何对C-free的编译器进行升级。

1.下载安装mingw

  先下载TDM-GCC,下载地址:http://tdm-gcc.tdragon.net/download, 这个地址是TDM-GCC最新版本的下载页面。我下载的是稍微老一点的版本4.7.1.2,下载地址:http://sourceforge.net/projects/tdm-gcc/files/TDM-GCC%20Installer/Previous/1.1006.0/,选择tdm-gcc-4.7.1-2.exe进行下载(注意版本,如果是64位系统,请下载64位版本的)。

  下载好之后,进行安装,下面是安装初始界面:

  

  注意不要勾选下方的”check for updated files on the TDM-GCC server“。然后选择”Create“,一路next进行安装即可(但是要注意最好安装路径不要有中文和空格)。我的安装路径是C:\MinGW32.

  安装完毕之后,打开cmd,输入gcc,如果提示”no input files“则表示安装成功。然后随便写一个简单的hello world程序,试一下gcc命令行。在E盘下新建一个hello.c文件, 输入代码:

1
2
3
4
5
6
7
#include<stdio.h>
 
int main(void)
{
  printf("hello world!\n");
  return 0;
}

  

  如果打印出hello world则表示gcc安装成功。

2.为C-Free配置新版本的gcc编译器

  打开C-Free,选择”构建“-”构建选项“,

  

  可以看出其自带的gcc编译器是3.4.5版本的,非常古老。然后点debug旁边的小箭头,选择“新建配置”,

  

  

  在“编译器类型”一栏选择“MinGW”,注意不要选择“MinGW(Old)",然后配置名称就随便填一个就行,确定之后需要手动指定mingw安装路径

  

  

  确定之后,就可以看到成功新建了一个TDM-GCC编译配置了。

  

  然后注意在创建工程的时候根据需要选择不同的编译配置:

  

  下面来测试一下老版本的gcc编译器和新版本的gcc编译器的区别。下面是测试代码:

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
int main(int argc, char *argv[])
{
    char *s = "hello";
    int n = strlen(s);
    return 0;
}

  

  然后再创建一个工程,在构建配置选择的时候注意选择”TDM-GCC“,下面是新的gcc编译器编译结果:

  

  两个编译器器的区别不言而喻了,所以我建议如果使用C-Free还是对编译器进行升级。

  如果需要进行其他的编译设置,比如按照C99标准或者C89标准来编译代码,可以自己进行配置

  

  我在这里”只对警告信息“进行了配置,其他都是默认配置,因为在编译代码时,并不是所有警告信息都会显示出来,而某些警告信息又可能非常重要,所以我设置在编译时显示所有警告信息。

  

  只需要在”Wanrings“一项勾选”Enable all complier warnings“即可。

  另外,我在写代码时,发现如果包含了limits.h这个头文件,发现会一直报错:

lib\gcc\mingw32\4.7.1\include-fixed\syslimits.h:7:25: error: no include path in which to search for limits.h

  提示无法找到该头文件,然后我发现"include-fixed"路径并没有在include files中,因此只需要将该路径添加进去即可。

   

  然后再次建立新的工程(注意一定要重新建立工程),包含limits.h头文件时不会报错。

  另外C-free支持其他工程进行转换,只需要选择”工具“-”工程转换“即可。

  

  如果不想用gcc编译器,当然还可以根据自己需求配置其他类型的编译器,比如Visual C++ Complier、Borland C++ Compiler。

  下面附上Visual C++ Compiler和Borland C++ Compiler编译器下载地址,配置方法和上面 类似。

  Visual C++ Compiler (Visual C++ 2003 Toolkit):http://download.csdn.net/detail/onino_info/2887618

  Borland C++ Compiler 5.5 :http://download.csdn.net/detail/oldcatredhat/1044177

  以上只是个人看法,另外我在这里推荐C-free,并不是表示Codeblocks、Codelite(这2款IDE是非常出众的IDE)等IDE不好,每个人的编码习惯和使用IDE的偏好都有所不同,选择适合自己的就行。

作者:海子

    

    

本博客中未标明转载的文章归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

玩转轻巧型C/C++ IDE之C-Free(配置GCC、Visual C++、Borland C++编译器)的更多相关文章

  1. Visual.Studio.2013.IDE+visual.studio.15.preview5 编译器

    硬盘版Visual.Studio.2013.IDE + visual.studio.15.preview5 编译器 使用前注意以下事项: 1.右键-管理员权限安装,VS15补丁.exe,补丁是VS15 ...

  2. Failed to load IDE add in 'C:\Program Files\Delphi_2007\bin\Borland.Studio.Together.dll'.解决办法 转

    错误信息为: Failed to load IDE add in 'C:\Program Files\Delphi_2007\bin\Borland.Studio.Together.dll'.Exce ...

  3. IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide1:1”移到“ide1:0”。

    开启vmware报这个错: IDE 设备(磁盘/CD-ROM)配置不正确.“ide1:1”上具有一个 IDE 从设备,但没有主设备.此配置在虚拟机中无法正常运行.请使用配置编辑器将磁盘/CD-ROM ...

  4. ESP8266开发之旅 进阶篇② 闲聊Arduino IDE For ESP8266烧录配置

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  5. 2019暑期北航培训—预培训作业-IDE的安装与初步使用(Visual Studio版)

    这个作业属于那个课程 2019北航软件工程暑期师资培训 这个作业要求在哪里 预培训-IDE的安装与初步使用(Visual Studio版) 我在这个课程的目标是 提高自身实际项目实践能力,掌握帮助学生 ...

  6. Python的IDE:Eclipse+PyDev配置

    最近准备学习python的开发了,当然主要先尝试web方面的开发,个人所学的主要就是javaweb方面,出去了一趟,感觉到了自己的狠多不足,当然也想对自己重新定位一下,不想以后出去只是码畜级别的.想学 ...

  7. 【开发工具IDE】Eclipse相关配置

    1. 修改workspace编码为UTF-8 1.1. 修改jsp编码为UTF-8 2. 修改字体 3. 添加系统中的JDK 4. 导入formatter模板 5. 修改maven配置文件 打开文件: ...

  8. Python学习:2.Python集成学习环境(IDE)Pycharm的安装配置以及激活方

    一.下载Pycharm Pycharm作为Python现在最流行的集成开发环境,我们今后的Python的学习也就使用Pycharm进行,那今天我们就讲一下Pycharm的安装配置以及激活 1.我们首先 ...

  9. 回忆那些年我玩过的ide,看看哪些你也玩过,看图回忆

    闲来无聊,回忆一下这些年玩过的ide.看看哪些你也玩过. QBasic 第一个ide,兴奋程度也是最大的,从此进入了码农行列 VisualBasic 可以拖界面了,成就感爆棚 Turbo C c语言, ...

随机推荐

  1. C# 计时器的三种使用方法

    在.net中有三种计时器,一是System.Windows.Forms命名空间下的Timer控件,它直接继承自Componet;二是System.Timers命名空间下的Timer类. Timer控件 ...

  2. iOS学习笔记:iOS核心动画中的常用类型

    CATransaction 当我们在自定义的图层上修改某些支持动画的属性时,系统会为该属性的修改自动产生动画.这种其实属于隐式动画.隐式动画要得益于CATransaction. 一个CATransac ...

  3. new int[]和new int()的区别

    1. new int[] 是创建一个int型数组,数组大小是在[]中指定,例如:int * p = new int[10]; //p执行一个长度为10的int数组.2. new int()是创建一个i ...

  4. Altium designer总结

    itwolf原创文章,转载请注明出处 大概有半年没有画过PCB板了,最近突然又要画一个简单的小板子,却发现好多东西已经不是很熟练了,现在把Altium designer软件的使用中要注意的问题和一些小 ...

  5. sh.exe": grunt: command not found

    今天在git命令行工具中使用 grunt的时候,总是提示我找不到grunt命令,如: sh.exe": grunt: command not found 但是我运行 npm install ...

  6. poj 1061 青蛙的约会(扩展gcd)

    题目链接 题意:两只青蛙从数轴正方向跑,给出各自所在位置, 和数轴长度,和各自一次跳跃的步数,问最少多少步能相遇. 分析:(x+m*t) - (y+n*t) = p * L;(t是跳的次数,L是a青蛙 ...

  7. poj 3264 Balanced Lineup (RMQ算法 模板题)

    RMQ支持操作: Query(L, R):  计算Min{a[L],a[L+1], a[R]}. 预处理时间是O(nlogn), 查询只需 O(1). RMQ问题 用于求给定区间内的最大值/最小值问题 ...

  8. Discuz 5.x/6.x/7.x投票SQL注入分析

    看乌云有人爆了这个漏洞:http://www.wooyun.org/bugs/wooyun-2014-071516感觉应该是editpost.inc.php里投票的漏洞.因为dz已经确定不会再修补7. ...

  9. HDU 1710 Binary Tree Traversals

    题意:给出一颗二叉树的前序遍历和中序遍历,输出其后续遍历 首先知道中序遍历是左子树根右子树递归遍历的,所以只要找到根节点,就能够拆分出左右子树 前序遍历是按照根左子树右子树递归遍历的,那么可以找出这颗 ...

  10. [经验] - JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案

    最近在开发WSS RESTful服务的时候, 碰到了这些个纠结的问题. 在网上查找了半天, 找到n多种解决方案, 但是都是部分的, 要么是没有跨域的情况, 要么是没有post的情况, 要么不是用WCF ...