为什么在windows下不能直接编译运行c或c++程序,而它系统本身不就是用c语言写的吗?

 我来答
海狮2D
2012-08-23 · TA获得超过3019个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:1004万
展开全部
其实你是把商业问题和技术问题混为一谈了。
首先,Windows不是纯C语言编写的,应该说是类C语言编写的。
其次,不是不能运行C语言的程序,也不是没有编译器。而是运行自定义C或者C++程序是一个功能,这个功能的实现所需要的开发费用是非常高昂的,而且售出的比较少。
所以实际上C和C++的编译器比Windows要贵很多。如果把编译器成本分摊到Windows里,又会增加Windows的价格。
这些实际上是商业策略,需要很久才能理解。
提大刀砍鬼子
2012-08-23 · TA获得超过106个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:76.3万
展开全部
就相当于你编写了个程序,然后编译运行后会生成一个exe文件,而windows就是这么类似的东西,可以简单的看成机器语言(表示电脑可以直接运行)。那么你写的程序还只是高级语言,不会被机器理解,要经过编译才可以运行。你可以试试,把编译运行后的exe文件放到没安装c++或者之类平台的电脑上也是可以运行的。

希望有用
更多追问追答
追问
那windows系统既然能能运行,它是否是就应该有底层的编译器使得它能够运行程序?
追答
必须的,那是和源代码绑定的,但是汇编的部分除外
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
521125cb
2018-10-13 · TA获得超过100个赞
知道答主
回答量:14
采纳率:50%
帮助的人:4.8万
展开全部
写好的C程序是需要编译,链接之后才能运行的。
编译是需要编译器的,而操作系统本身没有集成编译器。
安装的操作系统是已编译好的。执行已经编译好的程序是不需要编译器的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是周小杰
2012-08-23
知道答主
回答量:17
采纳率:0%
帮助的人:5.5万
展开全部
windows只是用一个系统,是程序运行的平台。c或c++是高级语言,是不能被执行的,需要通过编译软件进行编译才能执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友08d4459
2012-08-23 · 超过29用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:83.3万
展开全部
我觉得这是由C/C++的性质决定的,他们是高级语言,与机器语言不是一一对应的,必须要编译成机器语言才能运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式