无忧启动论坛
标题:
C 大,您可以不可以为grubcall 这个批处理能写点注释?
[打印本页]
作者:
hotdll
时间:
2011-12-12 21:47
标题:
C 大,您可以不可以为grubcall 这个批处理能写点注释?
C 大,您可以不可以为grubcall 这个批处理能写点注释?
打开一看,都是call的调用,但是一个字的注释都没有,无从下手啊。。。
看挨个测试命令猜功能真的很难。
作者:
chenall
时间:
2011-12-12 22:33
是一些函数调用,我也不知怎么注释。
基本上和C语言的函数差不多。
比如:printf
就是直接grubcall printf "Hello Word"
或,像这样子的。
grubcall printf "Hello Word :%s" "this is test"
其它的函数请参考C语言的对应的函数,没有的参考GRUB4DOS.H或源码相应内容,有一些函数我从来没有用过。不清楚我也是自己翻翻源码找到相应的用法。然后才了解的。
作者:
xjn147
时间:
2011-12-13 08:21
没有说明书的产品.
作者:
chenall
时间:
2011-12-13 11:34
标题:
回复 #3 xjn147 的帖子
这个是给我自己用的,不是给普通用户使用的。不需要什么说明书,即使有估计你也不会去看。
作者:
快雪时晴
时间:
2011-12-13 12:31
怎么又出了个grubcall,刚知道有数字形式的call
作者:
Plantsoot
时间:
2011-12-13 12:36
原帖由
快雪时晴
于 2011-12-13 12:31 发表
怎么又出了个grubcall,刚知道有数字形式的call
就是进行了一次数字和函数名的对应,用起来更顺手一些。
作者:
my9823
时间:
2011-12-13 14:11
稀饭哥赶紧找本c看看吧!哈哈…
作者:
hotdll
时间:
2011-12-13 15:46
标题:
回复 #7 my9823 的帖子
这不是C好不好。。。。。
C我虽然不精,但是C的函数调用见过C的人都应该会调用。
作者:
chenall
时间:
2011-12-13 21:49
标题:
回复 #8 hotdll 的帖子
这就是C语言的函数调用。
举个例子吧。
还是最简单的printf函数
用C语言的写法
printf("Hello Word!")
printf("%d",123)
grubcall写法
grubcall printf "Hello Word!"
grubcall printf "%d" 123
或
call Fn.0 0 "Hello Word!"
call Fn.0 0 "%d" 123
可能是你看到了call Fn.0 0有点混乱。
printf = sprintf(0,......)
作者:
chenall
时间:
2011-12-13 21:52
另外因为call Fn.x只能处理32位数,如果你的参数是64位的就要拆开变成两个。低32位在前,高32位在后。
比如
call Fn.0 0 "0x%lx" 0x12345678 0xabcdef
关键还是灵活变通,什么语言都是死的。
作者:
hotdll
时间:
2011-12-13 22:41
标题:
回复 #10 chenall 的帖子
谢谢C大,学习了。
其实我觉得还是封装成C的那种调用比较习惯一些。
作者:
chenall
时间:
2011-12-13 23:43
标题:
回复 #11 hotdll 的帖子
要封装的话,你只能自己写一个外部命令来实现。因为函数的参数都不一样。
不是那么简单可以实现的,使用call Fn.x有一个好处。代码很少,只要20行左右的样子就可以实现。
而且所有函数通用。
如果要封装起来,我看没有1KB的代码恐怕是没有办法实现。而且以后新增加函数还得重新封装一次。
目前的方式可以随意增加函数,不需要改任何代码。
作者:
hotdll
时间:
2011-12-14 10:03
标题:
回复 #12 chenall 的帖子
明白了。突然想起来调用函数的环境是g4d,而不是c的环境。
我去适应下call Fn.x 估计不会太难吧。
谢谢C大。
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./)
Powered by Discuz! X3.3