Windows 7 XP之类的操作系统是什么软件编译生成的呢?
有哪位大大知道么? linux是gcc这我知道,windows就不太清楚了- -难道是VC的编译器么- - 当然是M$自己的VC。 zhe这是个问题,咱们电工很少有知道的吧 mahengyu 发表于 2013-11-14 08:00 static/image/common/back.gifzhe这是个问题,咱们电工很少有知道的吧
只能坐等回复了 gzhuli 发表于 2013-11-14 00:22 static/image/common/back.gif
当然是M$自己的VC。
Are you sure ? 猜测 vc VC、GCC都可以,只要能生成PE结构的二进制可重定位执行映像即可。
GCC的话,需要Mingw中的GCC,可以将产生PE结构的可执行文件。
编译操作系统和应用程序没啥区别,就是操作系统的执行文件和应用程序被加载在内存中的位置不一样,每个应用都有一个进程空间,所有的应用都共用一个系统地址空间,系统代码就是被加载到系统地址空间而已。在VC的连接器有很多选项,可以指定入口地址,可以指定加载地址,可以指定是否能重定位(是否生成PE中的重定位表)等等,看MSDN即可。你可以先尝试编写个简单的虚拟驱动程序,被加载到系统地址空间,就是操作系统的一部分了。 lswood 发表于 2013-11-14 10:21 static/image/common/back.gif
VC、GCC都可以,只要能生成PE结构的二进制可重定位执行映像即可。
GCC的话,需要Mingw中的GCC,可以将产生P ...
呃,我就是突然想到的,实际上对编程还停留在 if else阶段。。。。。 我曾经开发过一个类Windows结构的操作系统,API都和Windows相似,内核结构也和Windows相似(参考了当年泄露的Windows内核代码)。自己搭建的IDE,IDE可以集成微软的VC中的编译工具链,也可以集成GCC工具链。但是由于VC的调试器资料太少,所以只集成了GDB。IDE可以直接编译我的操作系统并产生一个虚拟软驱启动盘,软盘里有OS的可执行文件,加载到bochs或者VMware或者VirtualPC都可以启动。映射虚拟机的串口到一个网络端口或者windows的管道,OS底层的Stub就可以和IDE中的GDB进行调试通信,可以通过我的IDE进行源码级的OS源码调试,中断处理程序都可以被源码调试。
在我的IDE中,编译整个OS产生虚拟软驱镜像、启动虚拟机加载镜像调试都是一键化的,按F7、F5即可。 据称比尔盖茨最拿手的是Basic语言,他的DOS系统就有一版是Basic编程的。Windows这么庞大,是VB编的吗? wtliu 发表于 2013-11-14 10:46 static/image/common/back.gif
据称比尔盖茨最拿手的是Basic语言,他的DOS系统就有一版是Basic编程的。Windows这么庞大,是VB编的吗? ...
坐等知情人士解答 VC吧。
编写估计用的语言:汇编,C,C++. lswood 发表于 2013-11-14 10:39 static/image/common/back.gif
我曾经开发过一个类Windows结构的操作系统,API都和Windows相似,内核结构也和Windows相似(参考了当年泄露 ...
高端,仔细看了一遍,这个任务量应该巨大吧? 微软自己的编译器。 ttoto 发表于 2013-11-14 12:41 static/image/common/back.gif
微软自己的编译器。
呃,他自己的编译器是运行在什么系统上的呢?
搞到最后有点类似于先有鸡还是先有蛋了 skyseeingliqy 发表于 2013-11-14 13:05 static/image/common/back.gif
呃,他自己的编译器是运行在什么系统上的呢?
搞到最后有点类似于先有鸡还是先有蛋了 ...
编译器运行在哪有关系吗?甚至可以运行在linux上编译windows内核,交叉编译。编译不过是把高级语言转换成机器码的过程,和先有鸡先有蛋不是一回事。 wtliu 发表于 2013-11-14 10:46 static/image/common/back.gif
据称比尔盖茨最拿手的是Basic语言,他的DOS系统就有一版是Basic编程的。Windows这么庞大,是VB编的吗? ...
bill是靠basic赚了第一桶金,但绝对不是用basic编写的操作系统,basic是解释性语言,根本不能胜任编写os的任务。os一般是用绝大部分c和极少量汇编完成的。
顺便说一下,dos是bill花钱买来再卖给ibm的,起初不是bill开发的。 系统级别的基本都是C/C++ 新路 发表于 2013-11-14 13:21 static/image/common/back.gif
系统级别的基本都是C/C++
哇,超人 lswood 发表于 2013-11-14 13:15 static/image/common/back.gif
编译器运行在哪有关系吗?甚至可以运行在linux上编译windows内核,交叉编译。编译不过是把高级语言转换成 ...
呃,我的意思是说编译器是怎么生成的。。。。 lswood 发表于 2013-11-14 13:19 static/image/common/back.gif
bill是靠basic赚了第一桶金,但绝对不是用basic编写的操作系统,basic是解释性语言,根本不能胜任编写os ...
送你个视频:http://v.youku.com/v_show/id_XMjA5Nzg0NjQ0.html skyseeingliqy 发表于 2013-11-14 13:29 static/image/common/back.gif
呃,我的意思是说编译器是怎么生成的。。。。
编译器又不需要依赖目标操作系统,微软完全可以在DOS上开发win3.1,在win3.1上开发win95,在win95上开发win98,在win98上开发2k,xp,在xp上开发vista,win7。。。
而且一个操作系统,或者编译器,也分核心部分与辅助工具,可以用更底层的语言(比如汇编)开发完核心部分,然后开发人员就可以在这个裸系统上进行工作了
编译器也是编译器编译出来的,可以先弄一个基本可用的简单编译器,哪怕他效率低下,bug百出,但我们可以编译这个语言了,然后反过头来,用该语言重新写一个更好的编译器
再者C语言又不是第一个高级语言 skyseeingliqy 发表于 2013-11-14 13:29 static/image/common/back.gif
呃,我的意思是说编译器是怎么生成的。。。。
编译器也是普通软件,在许久之前,人们用机器码直接编写程序运行,后来嫌机器码麻烦,用机器码编写了一个汇编器和连接器,开始用汇编语言。再后来,嫌汇编麻烦,用汇编写c编译器,c编译器可以把c语言翻译成汇编,再后来……
再后来各种编译器,各种高级语言 比较支持微软自己编译器的说法. 最早的编译器是机器码,后来是汇编,现在是汇编和C掺杂
看了几条这位“海的女儿”大神的回复
我觉得他说得对! 瞎猜的啊:
C或者C++ w2k 泄露的源代码表明 w2k 是在 MS NT DDK 之上编译的. skyseeingliqy 发表于 2013-11-14 11:51
坐等知情人士解答
我估计应该是牛逼的易语言写的吧! lswood是个大神!据我的见识,他说的都一致。另外,我信奉大神,{:lol:} 操作系统中也只有很少的一些是编译生成的可执行文件吧,绝大部分是供这些可执行文件调用的数据文件。 lswood 发表于 2013-11-14 14:10
编译器也是普通软件,在许久之前,人们用机器码直接编写程序运行,后来嫌机器码麻烦,用机器码编写了一个 ...
哇,好多人崇拜您呢
页:
[1]