本篇文章转自 CSDN blog,转载请注明出处!

原文地址:

http://blog.csdn.net/liquanhai/article/details/6618300

引子:竟然可以用Code::Blocks来打开、编译、调试VC 6.0的项目,感觉很神奇,通过配置也让我们更进一步了解VC++ 6.0的编译器,连接器,调试器。好多兄弟问到要是能支持最新的VS2008和VS2010就好了,其实Code::Blocks已经配置好我们习惯的编译器的IDE环境了,假如我们用VS2003---VS2010,都可以不用配置了。只是因为VC++6.0的不在默认之列,所以才摸索出一套切实可行的方案出来。才先截个图给大家看看Code::Blocks支持和已经配置好的编译器支持列表吧(VC++6除外),因为我用的版本是Code::Blocks 10.05,所以VS2010没有加进去,之后的版本已经加好了:

一直在找寻VC++6.0流行的原因,在计算机界日新月异的发展下,一个很古老的编译器,能风靡程序界13年自然有其制胜法宝。自己感觉原因有下面原因:

①  启动速度快,占内存小;      ②   体积轻巧和生成的文件小;      ③  编译速度快;

VC++6.0版本作为经典,很难被取代。但是目前比较热的编程工具无疑要数Code::Blocks和CodeLite。下面仅说Code::Blocks的特点:

Code::Blocks免费开源(我们可以直接下载到其源代码),启动速度快,块头小,功能多,支持语法彩色醒目显示,支持代码完成,支持代码折叠,支持代码格式化,可以配置不同的编译器,来编译常见的工程模板(VC类,QT类一应俱全),插件的功能丰富。最喜欢的还是里面类似notepad++的双击一个变量,整个文件里面这个变量都高亮显示。总之有无数的理由来试一下Code::Blocks。

听说Code::Blocks竟然可以取代VC6.0,或者说VC6.0下面的工程可以直接在Code::Blocks内修改编译,调试。感觉很神奇,连着一周翻看了好多Code::Block的帖子。终于配置成功了。下面说一下具体的配置要求:

三个工具要安装分别是:① Code::Blocks 10.05版本 ②VC ++ 6.0 (为什么要装VC6主要是想使用里面的编译器 cl.exe,链接器 link.exe, 资源编译器 rc.exe, Microsoft 程序维护实用工具nmake.exe)  ③ windebug 6.7.005(这个最重要,要用到安装目录下的调试器cdb.exe)

(1)安装Code::Blocks 10.05 ,很简单就是下载完后一路Next下去。官方网站安装指引http://wiki.codeblocks.org/index.php?title=Installing_the_latest_official_version_of_Code::Blocks_on_Windows,

无幻兄弟给出的中文安装指引http://blog.csdn.net/akof1314/article/details/6603177

(2)配置VC++6.0 的编译器,链接器,调试器  网站给出的英文指引http://wiki.codeblocks.org/index.php?title=Integrating_Microsoft_Visual_C_6_with_Code::Blocks_IDE

配置调试器、链接器、资源编译器的路径:

下面重点讨论调试器windebug 6.7.005的安装:

安装完后记录下路径C:\Program Files\Debugging Tools for Windows将其添加到toolchain excuteables-->Additional path's里面,还有在Compiler Settings,勾选/MD和 /ZI两项

配置调试器:

配置编译器开关

打开工程:

最后的调试效果:

**********************************************************************************************************************************************

在csdn上看到的这篇文章,大兴奋,赶紧照着步骤一步步做了下,并用VC6.0新建MFC应用程序,然后导入至Code::Blocks中,编译后运行效果如下:

VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案的更多相关文章

  1. Code::Blocks 免安装版本下载及配置

    在编程的时候选择一款好用的IDE非常重要,对于初学者或需要开发项目的程序员来说更为重要,众多的IDE中 Code::Blocks 是一个不错的选择.Code::Blocks开源.版本多,并且还有免安装 ...

  2. VC++ 6.0创建MFC工程时的初级备要点(二)

        在看到一个MFC工程时,可能根据上一篇文章已经知道了哪些是重要的,那些是在创建工程的时候已经被初始化的!!下面介绍一下在看代码的过程的策略!!这里假设创建的基于多对话框的MFC工程名为test ...

  3. Code Blocks 使用 VC2013编译HelloWord

    首先在 Settings-Complier中把 Microsoft Visual c++ 2010 设置成默认(莫不默认也无所谓,就是改着方便而已) 然后在ToolChain excutable 中, ...

  4. 解决VC++6.0 无法打开、无法添加工程文件

    在windows系统下,经常会遇到这样的问题:点击VC++6.0 的[文件]下的[打开]无法操作,并且无法向工程添加文件,下面详细介绍一下解决方案? 工具/原料 VC++6.0 修复工具:FileTo ...

  5. 如何使用VC++6.0发布程序(即release版本程序)

    大家都知道VC编译器默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC的电脑上, 这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行( ...

  6. 【转】 VC++6.0 在Win7 64位下调试,Shift+F5无法退出

    Win7 64位VC++6.0调试代码无法关闭窗口解决方法 VC++6.0 在64位Windows7下调试的时候,再结束调试,程序无法退出,只能关闭VC++6.0 IDE环境. 问题描述:当我击F5开 ...

  7. Code::Blocks

    Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境. Code::Blocks是开放源码软件.Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库w ...

  8. 编译Code::Blocks源码 with MinGW on Win

    Build Code::Blocks源码 ---By 狂徒归来 CodeBlocks是一款非常优秀的IDE !可惜的是没有64位的版本,而且本来是轻量级别的IDE就应该够轻,能够像记事本工具一样,迅速 ...

  9. ubuntu下code::blocks设置运行窗口为gnome命令行

    code::blocks编译运行C++程序(F9)默认出现的运行串口在有鼠标的情况下进行粘贴还是很方便的,只要按下鼠标滑轮,位与剪切板中的数据就能粘贴到运行串口中.但是对于用笔记本而且没有鼠标地童鞋这 ...

随机推荐

  1. UITableView与UIScrollView的一些问题(持续更新)

    UITableView的一些常用操作 --------------------------------------------------------------------------------- ...

  2. 让子弹飞Demo版

    让子弹飞是我非常喜欢的一款游戏.今天的目标就是利用cocos2dx 3.0 和box2d 打造一款这样的类型游戏的Demo版.本来cocos2dx 3.0 已经封装了physicals模块,可是我在使 ...

  3. redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value

    错误原因: 因为redis中已经存在了相同的key, 而且key对应的值类型并不是Set,而是SortSet(改动前):再调用smembers时,抛出此错误. 解决方法: 将原来的的key给Del掉, ...

  4. 采用Operator-sdk轻松将helm chart转为Operator

    去年就接触Operator,从Oracle发布的WebLogic Operator到mySQL Operator,构建的源码一大堆,但感觉一直缺少合适的开发框架能够避免复杂性快速生成, 随着技术的日益 ...

  5. Android Protobuf应用及原理

    前言 之前一直忙于移动端日志SDK Trojan的开源工作,已十分稳定地运行在饿了么团队App中,集成了日志加密和解密功能.哎呀,允许我卖个狗皮膏药,不用不知道,用了就知道,从此爱不释手,Trojan ...

  6. 三个和数组有关的程序题目(C++)

    题目一:有n个整数,使前面各数顺序向后移动m个位置 问题描述: 有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前m个数 程序代码: #include<iostream> us ...

  7. JavaScript操作XML(二)

    上一篇介绍了XML的结构以及节点之间的关系这一篇介绍浏览器内建的XML解析器以及JavaScript是如何加载XML的. 大多数浏览器都有读取和操作 XML 的内建 XML 解析器. 解析器(XML ...

  8. $.jsonp()的简单使用

    // jsonp 获取 json 数据: $.jsonp({ url: GLOBAL.baseUrl + '/company/mobi_getposter.action', callback: 'ca ...

  9. HttpWebRequest的使用

    HttpWebRequest类主要利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来对数据进行获取和提交.下面对这两种方式进行一下说明: GET 方式 GET 方式通过在网络 ...

  10. SQL锁(转)

    说 明    Chaos 无法改写隔离级别更高的事务中的挂起的更改.   ReadCommitted 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复的读取或幻 ...