我想问一个关于编程很弱智的问题:现在大多数软件都是由C++语言编写的,为什么安装了这个软件的电脑中

我想问一个关于编程很弱智的问题:现在大多数软件都是由C++语言编写的,为什么安装了这个软件的电脑中不需要安装C++编译器就可以运行这个软件,而我编写的Helloworld... 我想问一个关于编程很弱智的问题:现在大多数软件都是由C++语言编写的,为什么安装了这个软件的电脑中不需要安装C++编译器就可以运行这个软件,而我编写的Hello world程序却要在C++编译器中运行呢? 展开
 我来答
cpucash
2014-01-10 · TA获得超过1585个赞
知道小有建树答主
回答量:1457
采纳率:66%
帮助的人:1004万
展开全部
在win下能运行的文件不多,只有4中吧,exe(可执行文件)、bat(批处理文件)、com(系统的dos可执行文件的一种)、src(屏保文件)。
其他的后缀的文件双击或者在dos下都不能运行,只有得到相应的程序解码才可以查看想要得到的内容
如doc的是word文件,xls是excel的文件,cpp是vc的文件,c是tc的文件等

在说说你的问题,一般c编辑后能执行的文件是exe后缀的可执行文件,他会包含一些系统dll文件(这些dll是win系统自带的,不是c编辑器所独有的,特殊情况(有些程序会需要自己的dll,那么他发布会把这独有的dll带上,如office安装时,会安装大量的dll,这个不是win自带的,而是office独有的))中的一些函数,所以可以不再庄园c编辑器的win环境下运行。

再多说一下,一般的程序有两种编译方式
一种是解释型(这个必须要有编辑器,如早期的qb)。他的原理是解释一行执行一行。html也是这种语言,但是每个计算机上都安装ie浏览器,这个就是解释器
另一种就是编译方式,也就是先把源代码编辑链接成exe(也就是机器语言,和汇编语言相似),这样就不需要编译环境了
他分两步,第一步是编译,把源代码编译成目标代码,最后是链接,这一步会把win的一些dll中的函数链接到exe中,所以不需要编译环境,c就属于这种编译方式
追问
那用java,c#编写的程序是不是也可以直接在win平台上运行呢?
追答
不好意思,我不是很准,呵呵
c#没有问题,java好像也可以(这个我真说不准)
很多软件都是可以跨平台的,这样看编写软件时考虑是否需要跨平台运行
如unix系统应该就是c编写的吧,c照样可以在win下运行
百度网友018a6894e
2014-01-10 · TA获得超过1935个赞
知道大有可为答主
回答量:3712
采纳率:54%
帮助的人:1651万
展开全部
我玩过几天,稍微说下,抛砖引玉吧
编写好的程序,都会要打包,变成可以在系统中直接运行的程序,而不是非要安装全套C语言才行,至于系统里,一般都会有运行库支持
而练手编写的第一个程序HELLO WORLD,是没有打包成可运行程序的,所以只可在编译器中运行
至于怎么打包,教材后面应有介绍
追问
那是不是像C#,java,pascal这些编程语言也都类似呢?
追答
没接触过,不过不可能做出的程序都要配套编程语言才行吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙戈雅3n
2014-01-10 · TA获得超过5791个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:975万
展开全部
C\C++不用依赖像如JAVA(虚拟机)C#(.NET Framework框架)环境下运行的。因为操作系统本身就是用C\C++,汇编这些语言写的。所以可以直接运行。不像java,C#需要依赖环境。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你还我账户
2014-01-10 · TA获得超过118个赞
知道答主
回答量:175
采纳率:0%
帮助的人:91.4万
展开全部
c++是编译型语言。你电脑上安装的,都是编译成机器语言的exe文件。如果你自己写hello world的话,就需要先用编译器把你的源代码编译成机器语言,也就是类似exe的文件,然后执行。你看看你的编译器,肯定会输出一个exe的文件。
追问
那就是说如果我把编译器卸载的话,还是可以运行这个exe文件
追答
是的。
再补充一点,对于c++这种程序,编译出来的是配合不同系统的exe,比如说,win 32位和win 64位,编译时需要不同的参数。如果你针对win32位编的程序,在win64上,有时是允许不了的。
针对win编译的程序,在linux上肯定运行不了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰血无双
2014-01-10 · TA获得超过246个赞
知道小有建树答主
回答量:436
采纳率:100%
帮助的人:334万
展开全部
编译器,就是 把 代码 做成 机器语言了,成型的软件 就 机器就直接能读懂。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
o00olwjo00o
2014-01-10 · 超过13用户采纳过TA的回答
知道答主
回答量:50
采纳率:100%
帮助的人:28.4万
展开全部
编译器的工作是解释执行,源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables) 平时用的程序时经过编译好的 .exe 所以能直接运行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式