当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 20 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-10 21:10 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
今天晚上闲得发慌,于是乎突然觉得看看Emacs的源代码来学习一下也不错,学着熟悉一下Cscope和ECB什么的,然后再学学怎么编一个文本编辑器,但是无意间看到了惊人的东东~
Emacs里面的函数定义大多数是使用Old Style的C程序的写法的!
也就是说,它的参数列表里面没有先说明每个参数各是什么类型的,而是在写完了参数名后,在括号的下一行再写各个参数的类型声明的,对此,大家怎么看? :em06


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


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-10 21:14 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
我突然间有个想法,会不会是因为那些函数的参数太多了,所以写在一行的话不好看,所以就用上Old Style的风格拆开写了 :em09


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


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-10 21:42 
头像

注册: 2006-05-19 9:54
帖子: 1823
地址: Shanghai
送出感谢: 2
接收感谢: 11
因为emacs的目标是兼容更多的编译器,不仅它,vim也是用旧风格的定义,并且明确写到编码规范里的


_________________
ニンニク入れますか?
x60 with gentoo


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-11 0:30 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
Strange 写道:
因为emacs的目标是兼容更多的编译器,不仅它,vim也是用旧风格的定义,并且明确写到编码规范里的

真的是这样子的吗?我还真的以为是因为参数太多了不好写才这么写的呢~不过C89都出了这么久了,连C99都有了,还要兼容那些特立独行的编译器吗——真的还有这种编译器的存在吗?


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


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-11 8:09 
头像

注册: 2006-05-19 9:54
帖子: 1823
地址: Shanghai
送出感谢: 2
接收感谢: 11
当然,世界上的机器很多,对应的编译器更多。
不是pc一种而已,为了保证他们的兼容性,不得不这样。


_________________
ニンニク入れますか?
x60 with gentoo


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-11 10:46 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
Strange 写道:
当然,世界上的机器很多,对应的编译器更多。
不是pc一种而已,为了保证他们的兼容性,不得不这样。

也就是说这个世界上尚存在只支持老式的写法的编译器咯?那么是不是所有的年代久远的程序的源代码都是这么规定的啊?


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


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 1:13 
头像

注册: 2008-08-28 8:12
帖子: 288
送出感谢: 0 次
接收感谢: 1
好NB!!长知识了!!原来那样的写法是Old Style呀……
居然还有只支持那种格式的老编译器,唔~~好神奇~~


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


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 10:48 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
racnil 写道:
好NB!!长知识了!!原来那样的写法是Old Style呀……
居然还有只支持那种格式的老编译器,唔~~好神奇~~

噢噢,阁下也看过了Emacs的源代码了? :em09


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


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 16:12 
头像

注册: 2008-08-28 8:12
帖子: 288
送出感谢: 0 次
接收感谢: 1
没有没有,只是看到你的描述还有其他人的回答之后感觉好神奇~~ :em03


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


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 16:55 

注册: 2008-05-11 11:10
帖子: 41
送出感谢: 1
接收感谢: 2
楼主的意思是这个形式吗?
代码:
void func (arg1,arg2)
unsigned char arg1;
unsigned char arg2;
{
     statement;
}


我用的某个单片机的C编译器不支持这种方式
好像C99并不支持这种方式?
http://www.devx.com/tips/Tip/14356

引用:
The old-style function declaration was never supported in C++. However, it was supported in C for many years, until not long ago. Today, the recently approved C99 standard disallows old-style function declarations even in C. Yet legacy C code still contains this obsolete style. If you’re porting legacy C code to C++ or to a C compiler that is C99-compliant, be prepared to change the old-style prototypes to the familiar style.


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 19:01 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
对啊,10楼的朋友,就是这样子写的 :em11
单片机?哥们您搞嵌入式的? :em03


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


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 20:43 

注册: 2008-05-11 11:10
帖子: 41
送出感谢: 1
接收感谢: 2
liu滔 写道:
对啊,10楼的朋友,就是这样子写的 :em11
单片机?哥们您搞嵌入式的? :em03


是呀,有个项目是移植一个NEC单片机的程序到PIC上,结果这种声明方式的函数全都通不过,只能一个个地改过来.


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-12 22:17 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
forestchen 写道:
liu滔 写道:
对啊,10楼的朋友,就是这样子写的 :em11
单片机?哥们您搞嵌入式的? :em03


是呀,有个项目是移植一个NEC单片机的程序到PIC上,结果这种声明方式的函数全都通不过,只能一个个地改过来.

写个程序来做这件事 :em04


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


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-21 23:05 
头像

注册: 2007-03-24 23:45
帖子: 2357
送出感谢: 0 次
接收感谢: 9
我觉得是历史原因
我居然没见过这个风格的


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 我好奇地看了一下Emacs的源代码,发现一件惊人的事情!
帖子发表于 : 2011-02-22 14:03 
头像

注册: 2010-10-09 23:01
帖子: 7210
送出感谢: 8
接收感谢: 23
fanhe 写道:
我觉得是历史原因
我居然没见过这个风格的

不会吧,讲C语言的书不是应该多多少少会提及的吗 :em20


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


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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