当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 18 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-06 16:26 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
看到这个标题,我猜很多人又想到了``不要重复发明轮子''这句话去了。不过我觉得我可不是在重复发明轮子,因为我只是在锻炼自己的能力,考验自己的知识的极限。如果你叫我去看那些现成的文本编辑器的源代码,我会被气个半死,因为我基本上没什么耐心和信心能看懂它们,所以只好自己实践一下,看看一个文本编辑器到底是什么样子的。 :em02 本人愚昧,目前只能做一个很简陋的面向行的文本编辑器(还不知道算不算面向行呢~ :em06 ),不知道各位做过这种事吗? :em09


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-06 17:41 
头像

注册: 2007-07-11 21:43
帖子: 3382
地址: 东江边
系统: archlinux
送出感谢: 15
接收感谢: 7
你用什么编写的啊,有空帮改两个撒


_________________
我来了,我看见了,我征服了!
求勾搭,不管饭。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-06 18:17 
头像

注册: 2008-08-28 8:12
帖子: 288
送出感谢: 0 次
接收感谢: 1
我是这样子滴,现在在写一个游戏的物理引擎。
写着写着就不由自主地想去看其他已经写好的物理引擎的代码,结果一边写着一边的代码已经读得差不多了。


_________________
SLAX and Xorg(without any Window Managers)
It's fun!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-06 23:08 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
momova 写道:
你用什么编写的啊,有空帮改两个撒

用C写的,现在写得还不怎么样,基本不能用——就是将就着用也不行,不过等我完成了再发布 :em05


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-06 23:10 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
racnil 写道:
我是这样子滴,现在在写一个游戏的物理引擎。
写着写着就不由自主地想去看其他已经写好的物理引擎的代码,结果一边写着一边的代码已经读得差不多了。

朋友,能不能分享一点看别人写的代码的经验,还是说你以前经常看别人的代码或者职业有需求什么的? :em06


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-07 18:38 
头像

注册: 2010-04-23 20:40
帖子: 1950
地址: 浙江·杭州
系统: Arch Linux
送出感谢: 2
接收感谢: 31
用 Windows 的时候就想写了,因为DX9里没有自带编辑框,所以想写一个。Win里至少还能画画什么东西,Lin 里就搞不来了,GTK+ 的什么Drawable 神马滴搞不定……
命令行版的么,似乎没太大难度吧


_________________
我是 Giumo Clanjor(哆啦比猫/兰威举)
Where there is a hacker, there is art. | Develop for Developers. (C & perl5)
博客 | Clanjor Prods.
类 C 语言到 brainfuck 编译器


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-07 19:29 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
数据结构大作业的好课题。。。。


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-07 20:46 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
cjxgm 写道:
用 Windows 的时候就想写了,因为DX9里没有自带编辑框,所以想写一个。Win里至少还能画画什么东西,Lin 里就搞不来了,GTK+ 的什么Drawable 神马滴搞不定……
命令行版的么,似乎没太大难度吧

对,命令行版的,比起图形界面当然简单一点,不过想做好也不容易啊~ :em20
尤其是现在能做到的版本一定是一个会将之前的操作的痕迹留在bash的输出上的编辑器~ :em20
好想要类似Windows里面的getch()函数的功能,谁告诉一下~ :em20


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-07 20:49 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
BigSnake.NET 写道:
数据结构大作业的好课题。。。。

:em11 很认可这句话,就因为想那个存储文本内容的数据结构搞得我头都大了,不过还好现在有了初步的解决方案~ :em09 想出了一个挺不错的数据结构来存储文本内容,哈哈~
不过不知道GNU是怎么做到readline函数那样的地步的~ :em03


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-07 22:08 
头像

注册: 2008-08-28 8:12
帖子: 288
送出感谢: 0 次
接收感谢: 1
liu滔 写道:
racnil 写道:
我是这样子滴,现在在写一个游戏的物理引擎。
写着写着就不由自主地想去看其他已经写好的物理引擎的代码,结果一边写着一边的代码已经读得差不多了。

朋友,能不能分享一点看别人写的代码的经验,还是说你以前经常看别人的代码或者职业有需求什么的? :em06


我看代码的经验是这样的:
1、首先心得静下来,正所谓“心中有杂念不得禅”,很多时候自己对一个程序结构有一种自己的偏见,看到了别人写得很奇怪的东西就不禁会产生类似于“需要写得这么复杂吗?”的疑问,这样的话去看代码就不容易理解其深层次的含义。

2、然后是要摸清楚别人写代码的思路,这需要一些些相关软件的基础知识的。比如看一个物理引擎的代码,想要知道别人写这个东西什么思路,就得大体了解一下,一般地来说这个东西应该怎么来实现。这样看到了大堆大堆的头文件之后可以先阅读一下头文件理清一下思路再往下看。大型的工程往往会提供非常详细的在线API函数参考,根据那个API参考也可以顺藤摸瓜,很快就能找到实现某个功能的代码。

3、从头文件开始,一点一点深入。一下就去看别人的实现代码会很吃力的,因为实现的代码往往很长,看着看着就摸不着头脑了。可是我们换位思考一下,如果是我们写这个程序,我们不可能一上来就开使写函数的实现,肯定是要把所有的头文件全写出来再往里一点点地填函数的代码的。
那么我们看代码的时候也可以用这样的思维的。先把我们需要的功能的头文件看一下(当然确定那些头文件是跟需要的功能有关就需要先分析好别人写代码的思路了),手边不妨放一张纸,看看别人写的类的逻辑关系是什么样的,把类型的结构图画出来,再在旁边标上简单的功能注释,然后再到实现文件里面去找别人具体怎么实现的功能。

上面3条就是我看别人的代码的经验,希望对LZ能有一些帮助。因为我是自学程序的,编程也只是兴趣爱好而已,不是我的职业。刚刚开始学写程序的时候尤其是学C++的类与对象的时候看了不少别人的源代码(也走了不少弯路,就是到现在我还是感觉对面向对象的编程有一些吃力,尤其是类型结构的设计,写出来东西之后给别人一看别人总是能说出你这样这样来组织结构能更好一些,可是我之前就想不到……),可能看得多了就比较习惯去看一些别人写的东西了吧。


_________________
SLAX and Xorg(without any Window Managers)
It's fun!


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-02-08 0:03 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
谢谢10楼的兄台的意见,虽然一时还不能全盘接受,不过我会尽量试着去遵循你的经验的,一起进步吧~ :em11


_________________
GitHub博客——稍微改了一下版面(于2012/8/23
新浪微博——话痨
新浪博客——伪技术博客
GitHub主页——充斥眼球的Common Lisp


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-04-10 13:34 
头像

注册: 2010-04-23 20:40
帖子: 1950
地址: 浙江·杭州
系统: Arch Linux
送出感谢: 2
接收感谢: 31
liu滔 写道:
尤其是现在能做到的版本一定是一个会将之前的操作的痕迹留在bash的输出上的编辑器~ :em20
好想要类似Windows里面的getch()函数的功能,谁告诉一下~ :em20

用 ncurses 库啊


_________________
我是 Giumo Clanjor(哆啦比猫/兰威举)
Where there is a hacker, there is art. | Develop for Developers. (C & perl5)
博客 | Clanjor Prods.
类 C 语言到 brainfuck 编译器


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-04-10 15:37 

注册: 2011-04-08 13:57
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
从来没有想过。。。
不过我觉得通常要用到一些库的。。。
我突然想起来,好像c语言里面可以直接得到用户的按键。。。。这样也许屏幕上没有显示用户打的东西。不过这样,,,也许就要自己想办法和输入法交流了。。。
不过我这里写了一个五笔输入法的东西,不过是c++的。。。可能不太适用。
我觉得最好的办法是参考别人做的东西,会很有帮助的。否则会很困难。 :em01
notepad++我觉得写的不错,可惜是c++写的。。。
也许gedit可以参考一下。。。
很想看看你的成果。。。呵呵. :em01


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-04-10 15:39 

注册: 2011-04-08 13:57
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
如果做一个英文的编辑器会简单一些。。。我去查查,我记得C语言库函数里面有查用户按键的函数。


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 有人试过自己写文本编辑器的吗~~~~~~
帖子发表于 : 2011-04-10 15:53 

注册: 2011-04-08 13:57
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
楼主很有才阿,会翻译英文了。。。


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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