推荐一个开源跨平台的C++项目,诚邀加盟 [SVN6853]

老邓 2010-05-30 01:52:30
加精
2010-10-03更新说明:
我已加盟CB开发团队:http://developer.berlios.de/project/memberlist.php?group_id=5358
期待更多中国人的加盟!

2010-06-16更新说明:
1. MinGW 4.4.4集成iconv,如果工程为Unicode且有汉字,请使用选项:-finput-charset=gbk ,已解决“no iconv implementation, cannot convert from GBK to UTF-8”错误。
2. gdb调试支持python脚本,内置python2.6.5,STL和wx数据显示大大加强!
3. wx加入VC的Debug版本。


在本人学习编程之初,一直在苦苦寻找一个框架设计优雅、代码质量高的开源工程,为此我曾在sourceforge.net上反复搜索。
直到三年前遇见了Code::Blocks,当时还没有出1.0正式版。
我被他的框架所吸引,全插件式设计让我为之陶醉!
无奈能力有限,只能断断续续的阅读其源码,却无法为其出一分力气。

三年来,我体会到如果能认真阅读一个大型项目,领会其架构、思路,对于我在编程领域的入门,起到了非常关键的作用。
从Code::Blocks这个项目中,我学会很多的东西,非常感谢这个开源项目!感谢这个社区!!

二年来,ollydbg、blueshake两位来自中国的高人,一直在为这个项目做贡献,让人十分钦佩!
在他们两位的感召下,我也陆续提供了一些Code::Blocks开发补丁。

在此邀请有志于学习编程的朋友,关注这个项目,加入这个项目的开发。
为开源社区做出贡献,也能领略一个高质量的框架、思想。

Code::Blocks的最新正式版应该就在今、明两天发布,最新版的版本号为:10.05
这里我提供一个绿色加强版,为Code::Blocks 10.05的到来做下宣传。
此版本仅供CSDN社区对这个项目感兴趣的朋友参考,请勿外传!
解压密码:csdn

特点:
1. 集成VC10、MinGW4.4.4双编译器
2. 集成WinDbg(cdb)、gdb调试器
3. 众多增强特性的加入
4. 大量的Bug修复
5. 绿色,解压后即可使用

感兴趣的朋友,请加入QQ群:102269848

我们在google的docs里有相关CB开发的讨论。
加入后,可以查看里面的中文文档。


下载:http://portablecb.googlecode.com/files/LoveDEV.7z
社区:http://forums.codeblocks.org/
源码:http://svn.berlios.de/svnroot/repos/codeblocks/
主页:http://www.codeblocks.org/

360会误报病毒!如不放心,请选用权威杀毒软件查杀!!

增强特性列表(不含Bug修复)
01. 支持预处理条件表达式分析
02. 支持非工程文件解析,可将CB作为代码浏览器使用
03. 支持toolbar的作用域选择
04. 支持for/while等条件语句的自动智能缩进
05. 支持class、enum等自动在右大括号后加分号
06. 支持Tab智能跳转
07. 支持宏的Call Tip提示
08. 支持cdb的step in和step out
09. 支持代码完成识别已存在部分
10. 支持Stream Comment词注释、及取消注释
11. 支持仅格式化选中的文本
12. 支持一个工程一个Parser,避免相互混淆
13. 支持重分析选中工程
14. 支持简单的模板解析
15. 支持头文件和源文件处在不同的目录中
16. 支持头文件自动完成
17. 支持智能指针解析(模板解析)
18. 支持代码重构(重命名、查找引用)
19. 支持宏函数解析
20. 支持函数声明与实现的准确跳转

调试效果:




图片展示

1. 工程组织

2. 符号浏览

3. RAD开发

4. 函数跳转

5. 作用域选择

6. 代码完成

7. 智能指针代码完成

8. 右键菜单

9. 代码重构

10. 头文件自动完成

11. 多编译器支持

12. 增强gdb调试(python)

13. GCC编译器显示intel语法的汇编码

14. 外部工具支持:CppCheck


官方网站:http://www.codeblocks.org/
官方论坛:http://forums.codeblocks.org/
...全文
37189 618 打赏 收藏 转发到动态 举报
写回复
用AI写文章
618 条回复
切换为时间正序
请发表友善的回复…
发表回复
天涯倦客 2013-01-15
  • 打赏
  • 举报
回复
不错 没时间搞了。。
伯山 2012-12-13
  • 打赏
  • 举报
回复
呵呵......
良先生vip 2012-11-29
  • 打赏
  • 举报
回复
目前在用 codeblocks 10.05 带中文汉化包。
  • 打赏
  • 举报
回复
没有弄明白。
L_hunter 2012-11-04
  • 打赏
  • 举报
回复
楼主牛人啊。初学编程之初的时候就知道找开源项目了。而大部分人初学编程的时候估计还是纠结在各种教材里把~~
sd17coding 2012-03-03
  • 打赏
  • 举报
回复
今天用了你的加强版,很棒,多谢前辈默默付出。希望有一天也想bz一样超赞
alexmayer 2012-01-01
  • 打赏
  • 举报
回复
有心无力,弱弱的飘过。
finallybye 2011-12-31
  • 打赏
  • 举报
回复
新手刚接触cb,感谢各位前辈的指导。
altairc 2011-12-10
  • 打赏
  • 举报
回复
找了半天,谢谢分享哈
ollydbg23 2011-12-09
  • 打赏
  • 举报
回复
codeblock中文版 - http://xmzou8.com/forum.php?mod=forumdisplay&fid=90

以上的codeblocks中文版块,是建立在
周八部落 BBS - http://xmzou8.com/forum.php
下的一个子论坛。

感谢Blueshake提供的该空间,为大家提供了一个讨论Codeblocks的新平台。

目前blueshake是该子版面的版大:猛虎蔷薇
我荣幸的作为版二:asmwarrior

希望有更多热心开源/自由软件的人能参与到此论坛的讨论、维护和建设中。

感谢“周八部落”为我们提供的空间!!


asmwarrior
yanjuex 2011-11-24
  • 打赏
  • 举报
回复
我不调试时,一开始后台库是编译成动态库,可执行项目都能正常运行,就是无法调试动态库里面的代码。
后来把后台库编译成静态库,可执行项目编译时就出现了undefine sqlite3_prepare等等调用sqlite3数据库的错误。。感觉有点莫名其妙(我只有在后台库中才调用了sqlite数据库,可执行项目没有直接调用后台库)是不是跟sqlite库是编译成动态库有关呢?
ollydbg23 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 604 楼 yanjuex 的回复:]

再问高人一个问题,本人自己建立了两个项目,一个是用以建立后台执行库项目,编译成动态库;另一个是基于frame的可执行项目,里面调用了后台的库中定义的类的函数,为什么在库里面定义的断点不起效果(也就是说无法调试库代码的执行过程),请问是什么原因?
另一个问题是:我后来又把那个库的项目编译成了静态库函数(在这个项目中调用了sqlite,用于操作数据库,在动态库是一切编译正常),结果可执行项目在调用……
[/Quote]
第一个问题,你要保证你的动态库(dll吧)也是debug模式编译的,我这里都可以使用,你看一下codeblocks的所有插件,都是dll的,我都可以调试进入这些dll。
第二个问题不太看得懂。。。。。。你是不是库的名字写错了?
xunxun 2011-11-24
  • 打赏
  • 举报
回复
那得看你的命令行是啥
-l开头的都是搜索既定目录
yanjuex 2011-11-23
  • 打赏
  • 举报
回复
再问高人一个问题,本人自己建立了两个项目,一个是用以建立后台执行库项目,编译成动态库;另一个是基于frame的可执行项目,里面调用了后台的库中定义的类的函数,为什么在库里面定义的断点不起效果(也就是说无法调试库代码的执行过程),请问是什么原因?
另一个问题是:我后来又把那个库的项目编译成了静态库函数(在这个项目中调用了sqlite,用于操作数据库,在动态库是一切编译正常),结果可执行项目在调用静态库函数时,又出来了未定义的sqlite里面的函数的这种的错误,即使在要可执行项目链接中加入的-lsqlite这个执行选项还是不起作用?请问一下可能原因是什么?希望指点一二!!谢谢!!
xunxun 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 600 楼 yanjuex 的回复:]

还有一个问题是:我自定义了.gdbinit,里面我自定义了一些gdb命令。但是每次使用.gdbinit时都需要在gdb里面输入source .gdbinit。怎么设置能使gdb启动进自动调用我自己写的.gdbinit文件呢???
[/Quote]
你可以在cb的debugger settings中
直接填入
source <your path>\.gdbinit

在windows中用.gdbinit不是一个好的选择,gdb对其的搜索在linux下是/<user>/的路径(特指bash)
而windows下就变成了gdb所在盘符的根目录了

不知道ollydbg有兴趣更改.gdbinit在windows下的搜索路径否
yanjuex 2011-11-17
  • 打赏
  • 举报
回复
还有一个问题是:我自定义了.gdbinit,里面我自定义了一些gdb命令。但是每次使用.gdbinit时都需要在gdb里面输入source .gdbinit。怎么设置能使gdb启动进自动调用我自己写的.gdbinit文件呢???
yanjuex 2011-11-17
  • 打赏
  • 举报
回复
刚才下载了一个ollydbg 最新的gdb版本,然后再安装了python2.7.2,终于能成功使用了,也能正常显示std::wstring及wxString里面的中文值。。。呜呜!太感谢了!!
ollydbg23 2011-11-17
  • 打赏
  • 举报
回复
1,建议你下载最新的nightly build的codeblocks版本,而且最好下载debugger branch版本,这是调试功能的分支,功能强大,在使用这个debugger branch的时候,在gdb的设置页面,需要把默认的script脚本选择框给去掉,这样方能使用python脚本。

2,你下载了我刚才页面里面的gdb后,解压缩放入mingw的目录就可以了。当然你电脑上需要装一个python2.7.2

3,关于如何在codeblocks里面设置,可以看我的关于python增强的gdb介绍,见:http://code.google.com/p/qp-gcc/wiki/GDB

还有问题,请继续提问,看起来我有时间的话,考虑弄一个wiki的中文页面,我个人感觉英文页面已经写得很清楚了,呵呵。

yanjuex 2011-11-17
  • 打赏
  • 举报
回复
其实我最开始也是从官方里面下载的cb(带mingw)的。版本是:10.05,gdb的版本是6.8的。调试的时的最大问题是unicode(特别是中文)的支持不好。
如果是wxString的值,比如:wxString strTemp=wxT("测试");
如果只有这一行代码,则调试时无法见到strTemp的值,必须要再加上strTemp.mb_str()。才能正常显示里面的中文值。
还有就是std::wstring的值在调试时也无法显示,我在.gdbinit里面自定义的一个(自定义gdb命令)显示方法(网上找的),用printf显示,明显只能显示ascII字符,对于unicode字符,只能显示其16位码值.中文还是无法显示。很痛苦。
请高人指点(本人没用过python)。谢谢!!
yanjuex 2011-11-17
  • 打赏
  • 举报
回复
就是loaden在第一页里面给的那个地址下的:
下载:http://portablecb.googlecode.com/files/LoveDEV.7z
我就完全用这里的cb和gdb。
调试时就出现这个问题。。
加载更多回复(578)

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧