当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 52 篇帖子 ]  前往页数 1, 2, 3, 4  下一页
作者 内容
1 楼 
 文章标题 : 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-13 12:18 
头像

注册: 2007-04-14 0:41
帖子: 146
地址: 武汉
送出感谢: 0 次
接收感谢: 0 次
开发动机:

    纯字符形式难度高:
    LINUX环境下有很多很强大的开发和分析C/C++程序的工具,如GCC、GDB、MAKE、VIM等,这些工具大多数采用字符形式进行操作,操作过程很复杂和繁琐,对于对Linux非常感兴趣或者已经非常熟悉的人来说,也许是一种乐趣,但是对初学者和习惯在视窗下编程的人形成比较高的门槛,有很多习惯windows下写程序的人在Linux下很吃力,尤其是使用GDB调试程序的过程,本人初学GDB时,对于大量用print感到麻烦。

    大型开发环境之弊:
    目前LINUX环境下已有的集成IDE环境有Eclipse、Sunstudio、Anjuta等等,这些开发环境集成了大部分开发软件需要的组件及功能,人机交互性增强了,但是存在以下几大缺陷:
    1)体积过于庞大,消耗系统资源过多,在硬件配置较低的情况下执行会导致系统性能大幅度下降。
    2)降低资源消耗需要进行大量的系统配置工作,其配置过程异常复杂,同样不容易操控和掌握。
    3)为了方便跨平台移植,大多数开发环境视窗采用Java编写,依赖JDK,系统必须为开发C/C++程序安装和开启JDK。
    4)过于强调专业化和工程化,不适应松散的编程,其实是强行要求开发者适应开发工具,举个例子:我在终端下写了一个"读者写者"的程序,有5个main()函数,主进程有个main(), 读者进程有个main(),读者的窗口GTK进程有个main(), 写者进程有个main(), 写者窗口GTK进程有个main(), 另外还有一个Makefile文件,在终端下用make编译正常,运行良好,但是在Eclipse和Anjuta下不能通过,它们不允许有多个main()函数,因为点击运行时是从包含main()函数的那个程序开始的,多个main()使它们不知道从那个main()开始,其实我的Makefile非常简单,运行时只执行主程序的main(), 由主进程调用其他的main()开启新进程。这种松散而简单的程序在专业的IDE下不能通过,除非创建多个project,然后把它们联系到一起。这种例子在我们学习LINUX编程时经常出现。
    5)没有执行shell脚本的功能,在Linux开发程序除了使用IDE自身的功能以外,开发者可能喜欢执行一些shell程序来查看和分析程序,在上一个问题中,如果IDE允许编写和执行shell,那么就很容易运行了。

    构建轻量级IDE工具的意义:

    1、对于普通用户尤其是对于LINUX的初学者来说,无论用纯字符形式的开发工具还是用大型的集成IDE开发环境, 都有很大的困难。对于在LINUX环境下开发程序的初学者来说,简单易用才是最好的学习环境。
    2、很多熟悉LINUX开发的开发者不需要庞大的IDE,他们/她们掌握了各种开发技能并且很清楚自己在做什么,一个小型而灵活的IDE是一个很好的选择(这个特点在下面会讲到)。
    3、因此构建一个灵活方便、轻量级的集成开发环境有助于开发者在LINUX下开发程序,尤其是初学者
    4、该IDE软件项目开放源代码,用户可以修改和拓展该软件的功能,是一个很好的实践项目,开发门槛不高。(本人也用这个项目来实践的,它会涉及很多的知识点,但是难度不是很高)
    5、在google group上创建一个该软件的论坛和在google code上创建该软件的项目,有助于代码的改进、维护和推广。

轻量级IDE的初步构想(特点):
1)视窗环境下编写程序(vim或普通文本编辑器)、编译程序(gcc/cc)、调试程序(gdb)、控制版本(subversion)等等。
2)采用构建LINUX系统桌面的GTK库编写视窗,与LINUX系统紧密结合,与Java相比,消耗资源较低。
3)编辑器集成LINUX的VIM,当然,也可以用普通编辑器。
4)编译连接过程调用make和gcc,IDE可随意配置makefile文件和gcc参数,初学者可以简单配置或者使用默认的配置,但决不妨碍高手进行复杂的配置。
5)把系统的终端窗口集成到IDE中,在IDE中也可以像平常一样使用终端。
6)调试过程可以只用按钮操作,也可以用IDE中的终端操作。
7)用版本控制软件帮助用户管理代码,主要使用Subversion。
8)编写创建LINUX软件包插件,在视窗下填写创建deb包和rpm包必要的信息,用视窗程序引导用户完成。
9)编写google code插件,可在google code网站上托管自己的代码(以上几步完成后再是现这一步,因为上面几步是关键,否则没人喜欢用这个软件)
10)可编写并执行shell程序

初步涉及的知识: LINUX系统编程(C语言)、GTK编程、POSIX多线程编程、glade3工具、各种集成到IDE的工具(如gcc/g++、gdb、make、subversion、vim等)

欢迎你的参与,我们一起学习和开发,也欢迎你提意见和建议
参与方式:编写代码,测试程序、报告bug、编写文档、参与讨论

另外,这个软件还没有名字,取什么名字好呢? oxcode怎么样? ——今年是牛年(ox)

QQ: 625618188
email: tianhaolsk@gmail.com
google group: http://groups.google.com/group/oxcode?hl=zh-CN&pli=1
google code :http://code.google.com/p/oxcode/
如果加入google code 需发邮件给我,或者加入google group


最后由 天浩 编辑于 2009-05-14 5:59,总共编辑了 3 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-13 12:21 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
要做好这个,不容易的.
加油 :em11


_________________
关注我的blog: ε==3


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-13 12:24 
头像

注册: 2007-12-31 14:57
帖子: 1097
送出感谢: 0 次
接收感谢: 1
楼主可参考一下geany。


_________________
我的 Blog


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-13 12:32 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
参考geany干嘛。
参考以前论坛的hypersrc。改进就是。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-13 12:48 
头像

注册: 2007-04-14 0:41
帖子: 146
地址: 武汉
送出感谢: 0 次
接收感谢: 0 次
刚看了一下geany,很好,有很多值得学习的地方,如布局、有些简单但很有用的功能,正在看hypersrc
谢谢推荐


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-17 17:32 
头像

注册: 2008-04-02 19:55
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
用Qt写比较快点吧


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-17 17:38 
头像

注册: 2008-10-26 12:05
帖子: 62
送出感谢: 0 次
接收感谢: 0 次
做不来,支持下 :em38


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-17 17:47 

注册: 2008-03-30 10:35
帖子: 439
送出感谢: 1
接收感谢: 0 次
楼主应该先自己做一下,代码放到仓库去。


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-17 17:58 

注册: 2006-09-07 22:51
帖子: 849
送出感谢: 0 次
接收感谢: 0 次
天浩 写道:
刚看了一下geany,很好,有很多值得学习的地方,如布局、有些简单但很有用的功能,正在看hypersrc
谢谢推荐

geany 除了自动补全,函数类型提示比较好之外
其他的都不如gedit--自动探测文件编码的能力超强!
geany对中文输入法的支持也不好
不过由于gtk的函数很长,我老是记不住
所以最后我还是改用geany来写代码!


_________________
blog:http://wkt55555.blog.163.com/


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-18 1:24 
头像

注册: 2007-04-14 0:41
帖子: 146
地址: 武汉
送出感谢: 0 次
接收感谢: 0 次
gong 写道:
楼主应该先自己做一下,代码放到仓库去。

恩,这两天忙着考试,再过一个星期可以作手作这个项目了,到时将附上详细的软件开发的计划以及我初步写的代码, 不知大家用GTK还是QT作视窗那个好?我最近为这个烦恼:
1、我比较GTK熟悉,也做出了一个这个软件的基本视窗,且GTK是铁杆LINUX视窗开发组件,但是,正如很多人所说的,GTK采用C写代码, 不是面向对象,相比C++的面向对象,开发的代码没有那么直观,GTK代码比较难阅读,当然,也可以用GTKMM(采用标准C++), 本人也是GTK刚入门,不是很熟练构建复杂的视窗。
2、本人没有学QT,但是我们图书馆有QT的新书,学习这个应该不难,它采用C++开发,所以开发的软件结构比较直观,开发速度也快些,但目前比较流行的是GNOME窗口的风格,不知大家是否喜欢QT窗口的风格
所以非常希望有视窗开发经验的同志加入!

目前主要要实现的模块:
1、视窗模块,视窗分为单独的一个模块,所以要定义视窗模块与其它模块通信的接口,定义好接口后可以很好的团队分工
2、C/C++语言模块,由视窗程序把任务分配给这个模块,这个模块完成任务后把结果返回给视窗

初步实施计划如下:
1、初步定义接口 (2009.5.26日前)
2、实现基本视窗 (2009.5.30日 前)
3、实现基本C/C++模块 (2009.6.15前)
4、顽固视窗模块和C/C++模块 (2009.7.15前)
....


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-18 2:20 
头像

注册: 2007-09-23 13:36
帖子: 364
送出感谢: 0 次
接收感谢: 2
支持下, 能做出来就好了


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-18 2:50 
头像

注册: 2006-05-20 14:03
帖子: 898
送出感谢: 0 次
接收感谢: 0 次
厄,这个可不容易,先多看看别人的吧。
铭记unix的箴言“不要重复发明车轮”


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-18 17:45 
头像

注册: 2007-04-14 0:41
帖子: 146
地址: 武汉
送出感谢: 0 次
接收感谢: 0 次
peachcolor 写道:
厄,这个可不容易,先多看看别人的吧。
铭记unix的箴言“不要重复发明车轮”

谢谢提醒


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-18 17:52 
头像

注册: 2007-12-05 12:25
帖子: 1153
送出感谢: 0 次
接收感谢: 0 次
贵在坚持


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 欢迎参与轻量级C/C++ IDE工具的开发
帖子发表于 : 2009-05-18 19:42 

注册: 2006-12-15 18:17
帖子: 33
送出感谢: 0 次
接收感谢: 0 次
可以参考SciTE,感觉也蛮小巧的


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 52 篇帖子 ]  前往页数 1, 2, 3, 4  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译