作者LPH66 (凉宫春日症候群)
看板java
标题Re: [问题] 比较C语言与Java
时间Thu Nov 16 00:09:58 2006
※ 引述《JohnBintan (Begins)》之铭言:
: 不知道po在这里合不合适...
: 小弟其实只懂得C语言
: 以下四句话, 我不知道哪些是对的哪些是错的...
: 可以请众版友位我解答吗? 谢谢
: 1. C passes parameters in registers while Java passes them on the stack.
C的话看calling convention
现在的VC只有fastcall会把前两个参数丢进register
一般的cdecl同样是推进stack的
其他的compiler就不清楚了
Java的话 因为它是bytecode 不是machine code
我觉得(既然都已经是自成一格的bytecode了)应该是会推进stack的
(也就是不会分calling convention 一律推进stack)
(以C的说法来看 Java的函式呼叫都是thiscall)
: 2. Strings are just an informal name for single-dimention arrays of characters
: in C and Java.
for C, yes
for Java(and C++), 看实作 因为那是一个class, 是包起来的
: 3. Strings in C and Java use null(0) to mark the end of a string.
for C, yes
for Java, 一样是看实作
: 4. Operations on strings, like length, are faster in C than in Java.
如果字串是像Basic里的字串把长度另外纪录的 那在长字串取长度时是会稍快
C是zero-terminated 所以要取长度就要一个一个算
所以基本上C似乎并不会比较快...
--
似乎对Java的结论都是要去看实作...XD
反正已经有包好的东西就拿来用了嘛 还管它里面是怎麽存的 (个人想法)
--
実琴:「
河野!你真的就这样被
物质慾望给吸引过去了吗?!」
亨:「只要
穿着女装摆出亲切的样子,所有必要花费就能
全免,似乎一点都不坏啊。」
実琴:「难道你没有
男人的尊严了吗?!」
亨:(断然道)「
没有。在
节衣缩食且
生活吃紧的
学生面前,
没有那种东西。」
--プリンセス・プリンセス 第二话
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 192.192.197.115