yan 发表于 2007-4-18 21:19:38

#loadall是将程序全部载入到内存,这样程序运行的更快
编译器是把所有的符号(变量名,函数名,标号名等等)归为一个空间,这个空间目前for 8K的最多能容纳270个符号.
当然占一个符号位置了.

Lumj 发表于 2007-4-19 15:34:00

“全部归为一个空间”?是说只要符号的总数在270以内就行了?(我好像说得不对,编译器中说变量最多100个)对8K的机器这个上限是270,那么以上的机器呢?

yan 发表于 2007-4-19 23:01:34

说明是以前的,
不要担心会不够使用(除非你想写个大程序)

Lumj 发表于 2007-4-21 13:17:25

其他的问题没人回答?我十分想知道他们的答案。
又有一个新问题:俄EWayEditorv3.31中说“...程序空闲时停留在getchar(),节省电力...”,这样说是否有道理?

xelz 发表于 2007-4-21 20:53:53

因为读键响应是映射键盘状态的
所以程序读取按键是不等待按键,若无按键 直接跳过的
循环计数超过一定值
就会执行getchar();语句```
也就是说退出了循环```程序暂停
当然省电

YAN大哥不知道说的对不

以上是俺猜的

Lumj 发表于 2007-5-2 22:31:03

为什么其他问题没人回答?没意义吗?再说一遍,我十分想知道它们的答案。

红色激情 发表于 2007-5-2 22:47:45

yan 发表于 2007-5-2 23:13:41

一)是非题
1)是
2)不同,且前者更优
3)慢
4)不等效

红色激情 发表于 2007-5-2 23:44:58

leesoft 发表于 2007-5-3 00:03:46

一般情况下,用户自己写的函数不会比LavaX提供的函数运行更快。
因为LavaX提供的函数是实运行的,用户自己写的函数是虚拟运行的。
能使用LavaX提供的函数就不要自己写,造车轮是无意义的。

Lumj 发表于 2007-5-3 19:25:47

太好了。顶了一下就得到了回复。谢谢。
yan说是非题的第4题答案是"不等效",能具体地说说区别在哪儿吗?

yan 发表于 2007-5-3 22:11:13

用DeleteFile除了删除文件列表里的文件名还在nor上的分配表的这个文件节点标记为无效。

leesoft 发表于 2007-5-3 22:32:59

嗯。
这样才能真正释放空间

Lumj 发表于 2007-5-5 11:00:21

谢谢yan和lee.
哦,是这样。那是不是读写文件列表的方法可以从”表面“删除僵尸文件?删除僵尸文件的原理即如此?

leesoft 发表于 2007-5-5 11:08:01

有时候某些操作会在目录文件里只留下一个名字,而未占据实际空间,这时候就可以删除名字了
但是如果文件已占用了空间,仅删除名字会造成文件内容还在,名字却不在目录里了,就无法释放空间了

Lumj 发表于 2007-4-18 14:33:59

lavaX知识试题

总分:20分 时间:10分
命题:Lumj
注:以下所有问题在lavaX1.0环境下提出
一)是非题(每题1分,共4分)
1)i<<4是否比i*16更优?
2)是否由“i++”和“i=i+1”编译出的东西不同,且前者更优?
3)若自己写一个strstr函数,是否比内置的慢多了?
4)用DeleteFile和读写文件列表的方法删除文件是等效的?

二)简答题(本大题包括两部分,共16分)
第一部分:软件问答
1)在Reader软件中的“个人操作偏好设置“中,有一项是“猜测文件名,并提示打开”,请解释它的含义。(2分)
2)在yan的编译器中,#loadall是什么意思?(2分)
3)yan的编译器能编译的代码中最多能有多少个函数?(4分)
4)yan的编译器能编译的代码中最多100个变量,那么char a="abc"将占去几个变量的位置?1个?1个也不占?(4分)

第二部分:编程技术
要在一个文件中删除一段数据,是否就要把文件重写一遍?(4分)
页: [1]
查看完整版本: lavaX知识试题