搜索
bottom↓
回复: 32

Windows 7 XP之类的操作系统是什么软件编译生成的呢?

[复制链接]

出0入0汤圆

发表于 2013-11-13 13:04:39 | 显示全部楼层 |阅读模式
有哪位大大知道么?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2013-11-14 00:15:34 | 显示全部楼层
linux是gcc这我知道,windows就不太清楚了- -难道是VC的编译器么- -

出0入663汤圆

发表于 2013-11-14 00:22:24 | 显示全部楼层
当然是M$自己的VC。

出0入0汤圆

发表于 2013-11-14 08:00:39 | 显示全部楼层
zhe这是个问题,咱们电工很少有知道的吧

出0入0汤圆

 楼主| 发表于 2013-11-14 10:01:48 | 显示全部楼层
mahengyu 发表于 2013-11-14 08:00
zhe这是个问题,咱们电工很少有知道的吧

只能坐等回复了

出0入0汤圆

 楼主| 发表于 2013-11-14 10:02:22 | 显示全部楼层
gzhuli 发表于 2013-11-14 00:22
当然是M$自己的VC。

Are you sure ?

出0入0汤圆

发表于 2013-11-14 10:07:39 | 显示全部楼层
猜测   vc

出0入25汤圆

发表于 2013-11-14 10:21:40 | 显示全部楼层
VC、GCC都可以,只要能生成PE结构的二进制可重定位执行映像即可。
GCC的话,需要Mingw中的GCC,可以将产生PE结构的可执行文件。
编译操作系统和应用程序没啥区别,就是操作系统的执行文件和应用程序被加载在内存中的位置不一样,每个应用都有一个进程空间,所有的应用都共用一个系统地址空间,系统代码就是被加载到系统地址空间而已。在VC的连接器有很多选项,可以指定入口地址,可以指定加载地址,可以指定是否能重定位(是否生成PE中的重定位表)等等,看MSDN即可。你可以先尝试编写个简单的虚拟驱动程序,被加载到系统地址空间,就是操作系统的一部分了。

出0入0汤圆

 楼主| 发表于 2013-11-14 10:37:47 | 显示全部楼层
lswood 发表于 2013-11-14 10:21
VC、GCC都可以,只要能生成PE结构的二进制可重定位执行映像即可。
GCC的话,需要Mingw中的GCC,可以将产生P ...

呃,我就是突然想到的,实际上对编程还停留在 if else阶段。。。。。

出0入25汤圆

发表于 2013-11-14 10:39:02 | 显示全部楼层
我曾经开发过一个类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即可。

出0入0汤圆

发表于 2013-11-14 10:46:05 | 显示全部楼层
据称比尔盖茨最拿手的是Basic语言,他的DOS系统就有一版是Basic编程的。Windows这么庞大,是VB编的吗?

出0入0汤圆

 楼主| 发表于 2013-11-14 11:51:40 | 显示全部楼层
wtliu 发表于 2013-11-14 10:46
据称比尔盖茨最拿手的是Basic语言,他的DOS系统就有一版是Basic编程的。Windows这么庞大,是VB编的吗? ...

坐等知情人士解答

出0入0汤圆

发表于 2013-11-14 11:55:09 | 显示全部楼层
VC吧。
编写估计用的语言:汇编,C,C++.

出0入0汤圆

 楼主| 发表于 2013-11-14 12:37:32 | 显示全部楼层
lswood 发表于 2013-11-14 10:39
我曾经开发过一个类Windows结构的操作系统,API都和Windows相似,内核结构也和Windows相似(参考了当年泄露 ...

高端,仔细看了一遍,这个任务量应该巨大吧?

出0入0汤圆

发表于 2013-11-14 12:41:59 | 显示全部楼层
微软自己的编译器。

出0入0汤圆

 楼主| 发表于 2013-11-14 13:05:42 | 显示全部楼层
ttoto 发表于 2013-11-14 12:41
微软自己的编译器。

呃,他自己的编译器是运行在什么系统上的呢?
搞到最后有点类似于先有鸡还是先有蛋了

出0入25汤圆

发表于 2013-11-14 13:15:07 | 显示全部楼层
skyseeingliqy 发表于 2013-11-14 13:05
呃,他自己的编译器是运行在什么系统上的呢?
搞到最后有点类似于先有鸡还是先有蛋了 ...

编译器运行在哪有关系吗?甚至可以运行在linux上编译windows内核,交叉编译。编译不过是把高级语言转换成机器码的过程,和先有鸡先有蛋不是一回事。

出0入25汤圆

发表于 2013-11-14 13:19:38 | 显示全部楼层
wtliu 发表于 2013-11-14 10:46
据称比尔盖茨最拿手的是Basic语言,他的DOS系统就有一版是Basic编程的。Windows这么庞大,是VB编的吗? ...

bill是靠basic赚了第一桶金,但绝对不是用basic编写的操作系统,basic是解释性语言,根本不能胜任编写os的任务。os一般是用绝大部分c和极少量汇编完成的。
顺便说一下,dos是bill花钱买来再卖给ibm的,起初不是bill开发的。

出0入0汤圆

发表于 2013-11-14 13:21:35 | 显示全部楼层
系统级别的基本都是C/C++

出0入0汤圆

 楼主| 发表于 2013-11-14 13:28:39 | 显示全部楼层
新路 发表于 2013-11-14 13:21
系统级别的基本都是C/C++

哇,超人

出0入0汤圆

 楼主| 发表于 2013-11-14 13:29:42 | 显示全部楼层
lswood 发表于 2013-11-14 13:15
编译器运行在哪有关系吗?甚至可以运行在linux上编译windows内核,交叉编译。编译不过是把高级语言转换成 ...

呃,我的意思是说编译器是怎么生成的。。。。

出0入0汤圆

 楼主| 发表于 2013-11-14 13:33:36 | 显示全部楼层
lswood 发表于 2013-11-14 13:19
bill是靠basic赚了第一桶金,但绝对不是用basic编写的操作系统,basic是解释性语言,根本不能胜任编写os ...

送你个视频:http://v.youku.com/v_show/id_XMjA5Nzg0NjQ0.html

出0入0汤圆

发表于 2013-11-14 14:08:02 | 显示全部楼层
skyseeingliqy 发表于 2013-11-14 13:29
呃,我的意思是说编译器是怎么生成的。。。。

编译器又不需要依赖目标操作系统,微软完全可以在DOS上开发win3.1,在win3.1上开发win95,在win95上开发win98,在win98上开发2k,xp,在xp上开发vista,win7。。。

而且一个操作系统,或者编译器,也分核心部分与辅助工具,可以用更底层的语言(比如汇编)开发完核心部分,然后开发人员就可以在这个裸系统上进行工作了

编译器也是编译器编译出来的,可以先弄一个基本可用的简单编译器,哪怕他效率低下,bug百出,但我们可以编译这个语言了,然后反过头来,用该语言重新写一个更好的编译器

再者C语言又不是第一个高级语言

出0入25汤圆

发表于 2013-11-14 14:10:50 来自手机 | 显示全部楼层
skyseeingliqy 发表于 2013-11-14 13:29
呃,我的意思是说编译器是怎么生成的。。。。

编译器也是普通软件,在许久之前,人们用机器码直接编写程序运行,后来嫌机器码麻烦,用机器码编写了一个汇编器和连接器,开始用汇编语言。再后来,嫌汇编麻烦,用汇编写c编译器,c编译器可以把c语言翻译成汇编,再后来……
再后来各种编译器,各种高级语言

出0入0汤圆

发表于 2013-11-14 15:18:32 | 显示全部楼层
比较支持微软自己编译器的说法.

出0入0汤圆

发表于 2013-11-14 15:22:15 | 显示全部楼层
最早的编译器是机器码,后来是汇编,现在是汇编和C掺杂

出0入0汤圆

发表于 2013-11-14 15:52:16 | 显示全部楼层

看了几条这位“海的女儿”大神的回复

我觉得他说得对!

出0入0汤圆

发表于 2013-11-17 16:46:25 | 显示全部楼层
瞎猜的啊:
C或者C++

出0入0汤圆

发表于 2013-11-17 18:05:23 | 显示全部楼层
w2k 泄露的源代码表明 w2k 是在 MS NT DDK 之上编译的.

出870入263汤圆

发表于 2013-11-23 23:48:33 | 显示全部楼层

我估计应该是牛逼的易语言写的吧!

出870入263汤圆

发表于 2013-11-23 23:51:48 | 显示全部楼层
lswood是个大神!据我的见识,他说的都一致。另外,我信奉大神,

出0入0汤圆

发表于 2013-11-24 00:13:40 | 显示全部楼层
操作系统中也只有很少的一些是编译生成的可执行文件吧,绝大部分是供这些可执行文件调用的数据文件。

出0入0汤圆

 楼主| 发表于 2013-11-24 12:08:40 | 显示全部楼层
lswood 发表于 2013-11-14 14:10
编译器也是普通软件,在许久之前,人们用机器码直接编写程序运行,后来嫌机器码麻烦,用机器码编写了一个 ...

哇,好多人崇拜您呢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 02:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表