原帖由 henvelleng 于 2010-1-10 14:49 发表
有一种程序是完全不依赖OS而是直接依赖硬件平台的,比如说bootloader,比如说grub4dos,比如说windows软激活程序,它并不是在OS下运行的,而是直接操作硬件,以及使用bios提供的软中断资源。
原帖由 henvelleng 于 2010-1-10 15:53 发表
其实其他平台的引导也是很容易的,只是x86有bios存在变得异常统一
就我自己来说,在手册相关硬件的章节看明白后写一个能引导kernel的bootloader大致在几百行代码左右(99%以上代码是C),真正需要初始化的硬件并不 ...
henvelleng 发表于 2010-1-10 16:00
我发觉我说话越来越没重点了 我来总结下上面说的:启动kernel的过程很容易,工作量的大头是kernel的移植,在熟练kernel的移植后,android的移植也就不难了
还有一些像数码相框之类的项目,则根本不用跑kern ...
原帖由 jun4rui 于 2010-1-10 10:59 发表
1,不同编程软件理论上是不是可以编出同一种功能的软件?比如basic,c++都能写出office??谢谢。
是的,用Basic也可以写出和C++一样的office来,LS几位说得不透彻,因为Basic里面也可以嵌入汇编代码,或者执行汇编级别 ...
member2nd 发表于 2010-1-10 22:44
原帖由 pangeng 于 2010110 21:26 发表
最高是指最难用的意思么???还是指最最最基础的语言但是什么都能编?
最高级的语言是最接近人类使用的语言,最易用,但效率不高
原帖由 jun4rui 于 2010-1-10 10:59 发表
1,不同编程软件理论上是不是可以编出同一种功能的软件?比如basic,c++都能写出office??谢谢。
是的,用Basic也可以写出和C++一样的office来,LS几位说得不透彻,因为Basic里面也可以嵌入汇编代码,或者执行汇编级别的操作,只要是能够编译成硬件可直接执行的二进制文件的,几乎都可以实现一样的功能。
hourousha 发表于 2010-1-11 09:43
原帖由 jun4rui 于 2010110 10:59 发表
1,不同编程软件理论上是不是可以编出同一种功能的软件?比如basic,c++都能写出office??谢谢。
是的,用Basic也可以写出和C++一样的office来,LS几位说得不透彻,因为Basic ...
原帖由 jun4rui 于 2010-1-11 10:03 发表
[posted by wap, platform: Nokia (E71)]
可以的,18年前我在dos就干过了。
不是内联汇编,而是用basic吧汇编代码弄成操作码和数直接丢到内存然后调用。
记得当年90年代初期家用电器推国产fc学习机就有篇例子 ...
henvelleng 发表于 2010-1-10 17:03
C语言中函数指针的实现、全局变量的访问(我记得是所有非text段的访问,连rodata段也是如此)都是依赖链接地址的,在链接的时候,链接器通过参数给定的链接首地址加上计算出的偏移量,然后把这个地址直接写死在了bin ...
原帖由 hourousha 于 2010-1-11 10:28 发表
你指的是CALL Absolute这种东西?这倒是确实可以执行二进制代码。不过以我的看法,这种已经不属于嵌入‘汇编’了,就好象VC的内联汇编,如果里面全都是_emit...这种,那与其说是内联汇编,倒不如说是内联机器码,呵 ...
原帖由 finalx 于 2010-1-11 10:41 发表
[posted by wap, platform: BlackBerry]
让我想想起编译原理这课程了,以前看linker and loader 看的脑袋大,mb,看完了以后在也不碰计算机了。。。
原帖由 pangeng 于 2010-1-11 18:39 发表
谢谢各位,了解不少。
java语言可以跨平台,对我很有用,准备学。但我还有个问题,我需要编的软件需要接收电脑serial port和usb接口的信号,java能否编出读取电脑周遍硬件数据的软件?
henvelleng 发表于 2010-1-11 15:44
原帖由 finalx 于 2010111 10:41 发表
让我想想起编译原理这课程了,以前看linker and loader 看的脑袋大,mb,看完了以后在也不碰计算机了。。。
具体问题具体分析就容易理解了,编程完全是实践性技能,空谈 ...
cc0128 发表于 2010-1-10 17:07
太高深了。土鳖飘过
欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) | Powered by Discuz! 6.0.0 |