论坛风格切换切换到宽版
发帖 回复
返回列表  提醒:不能用迅雷等P2P下载,否则下载失败标(二级)的板块,需二级才能下载,没二级不要购买,下载不了
  • 1567阅读
  • 6回复

[IT/数码]关于编译器和集成开发环境,有什么区别和联系 [复制链接]

上一主题 下一主题
离线癞蛤蟆
 

性别:
人妖
发帖
37
金币
7
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看楼主 倒序阅读 使用道具 0楼 发表于: 2019-12-08
各位,关于编译器和集成开发环境这两个名称,我们平时一直在说,但这二位究竟有什么区别和联系呢,今天就跟大家简单聊一聊。 <{i1/"k?X  
S R s  
我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。 "q KVGd  
Jv kTfTE7  
在 Windows 下,可执行程序的后缀有 .exe 和 .com(其中 .exe 比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判断是否是可执行程序。 :i|Bz6Ht4  
n. vrq-  
可执行程序的内部是一系列计算机指令和数据的集合,它们都是二进制形式的,CPU 可以直接识别,毫无障碍;但是对于程序员,它们非常晦涩,难以记忆和使用。 u/V&1In  
q2/kegAT  
例如,在屏幕上输出“VIP会员”,C语言的写法为: qMw_`dC  
_na/&J 6  
puts("VIP会员"); tJ .Ln  
iUs_)1  
二进制的写法为: GI>(S  
ez~u A4  
你感受一下,直接使用二进制是不是想撞墙,是不是受到一吨重的伤害? DB}v..  
s^m`qi(H  
在计算机发展的初期,程序员就是使用这样的二进制指令来编写程序的,那个拓荒的年代还没有编程语言。 !x! 1H5"  
K+ ~1z>&  
直接使用二进制指令编程对程序员来说简直是噩梦,尤其是当程序比较大的时候,不但编写麻烦,需要频繁查询指令手册,而且除错会异常苦恼,要直接面对一堆二进制数据,让人眼花缭乱。另外,用二进制指令编程步骤繁琐,要考虑各种边界情况和底层问题,开发效率十分低下。 KwgFh#e  
x~F YG  
这就倒逼程序员开发出了编程语言,提高自己的生产力,例如汇编、C语言、C++、Java、Python、Go语言等,都是在逐步提高开发效率。至此,编程终于不再是只有极客能做的事情了,不了解计算机的读者经过一定的训练也可以编写出有模有样的程序。 G @EEh.s9  
xVRxKM5 {  
一、什么是编译器 t{,e{oZx  
DXQ]b)y+N  
C语言代码由固定的词汇按照固定的格式组织起来,简单直观,程序员容易识别和理解,但是对于CPU,C语言代码就是天书,根本不认识,CPU只认识几百个二进制形式的指令。这就需要一个工具,将C语言代码转换成CPU能够识别的二进制指令,也就是将代码加工成 .exe 程序;这个工具是一个特殊的软件,叫做编译器(Compiler)。 y9k'jEZ"oh  
Wiw~oXo  
编译器能够识别代码中的词汇、句子以及各种特定的格式,并将他们转换成计算机能够识别的二进制形式,这个过程称为编译(Compile)。 LW#U+bv]Dq  
<$ qT(3w<y  
编译也可以理解为“翻译”,类似于将中文翻译成英文、将英文翻译成象形文字,它是一个复杂的过程,大致包括词法分析、语法分析、语义分析、性能优化、生成可执行文件五个步骤,期间涉及到复杂的算法和硬件架构。对于学计算机或者软件的大学生,“编译原理”是一门专业课程,有兴趣的读者请自行阅读《编译原理》一书,这里我们不再展开讲解。 |T]&8Q)S  
TpI8mDO\W  
注意:不了解编译原理并不影响我们学习C语言,我也不建议初学者去钻研编译原理,贪多嚼不烂,不要把自己绕进去。 wc-v]$DW  
^=8/Iw  
C语言的编译器有很多种,不同的平台下有不同的编译器,例如: .hUlI3z9  
CR;E*I${  
    Windows 下常用的是微软开发的 cl.exe,它被集成在 Visual Studio 或 Visual C++ 中,一般不单独使用; ]wfY<Z  
PXML1.r$Q  
    Linux 下常用的是 GUN 组织开发的 GCC,很多 Linux 发行版都自带 GCC; (" +clb`  
]Inu'p\  
    Mac 下常用的是 LLVM/Clang,它被集成在 Xcode 中(Xcode 以前集成的是 GCC,后来由于 GCC 的不配合才改为 LLVM/Clang,LLVM/Clang 的性能比 GCC 更加强大)。 }R%*J  
Z!*6;[]SfG  
你的代码语法正确与否,编译器说了才算,我们学习C语言,从某种意义上说就是学习如何使用编译器,让编译器生成可执行程序(例如 Windows 下的 .exe 程序)。 Wf-XH|j[  
JSID@ n<b?  
编译器可以 100% 保证你的代码从语法上讲是正确的,因为哪怕有一点小小的错误,编译也不能通过,编译器会告诉你哪里错了,便于你的更改。 lM#,i\8Q  
,v`03?8l(  
二、什么是集成开发环境 #XG3{MGX[  
hQ@#h`lS  
实际开发中,除了编译器是必须的工具,我们往往还需要很多其他辅助软件,例如: ] ^?w0A  
(?TK P 7  
    编辑器:用来编写代码,并且给代码着色,以方便阅读; g<7Aln}Nl\  
#l@P}sHXq  
    代码提示器:输入部分代码,即可提示全部代码,加速代码的编写过程; A%x0'?GU  
l]j;0i  
    调试器:观察程序的每一个运行步骤,发现程序的逻辑错误; FA := )  
\En"=)A  
    项目管理工具:对程序涉及到的所有资源进行管理,包括源文件、图片、视频、第三方库等; u,{R,hTDS  
j\zlp  
    漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便。 j"fx|6l)  
q*tGlM@R?  
这些工具通常被打包在一起,统一发布和安装,例如 Visual Studio、Dev C++、Xcode、Visual C++ 6.0、C-Free、Code::Blocks 等,它们统称为集成开发环境(IDE,Integrated Development Environment)。 {:3:GdM6  
U| ?68B3  
集成开发环境就是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件是主机,有了主机就能独立工作了,但是我们在购买台式机时,往往还要附带上显示器、键盘、鼠标、U盘、摄像头等外围设备,因为只有主机太不方便了,必须有外设才能玩的爽。 集成开发环境也是这个道理,只有编译器不方便,所以还要增加其他的辅助工具。 !%$,S=_F  
?\(qA+iP0  
三、选择哪种集成开发环境 g4YlG"O[~  
HF"TS*  
C语言的集成开发环境有很多种,以前写过专门的推送介绍过,这里就不再赘述了。如果你实在不知怎么选择的话,那就VS吧,毕竟号称宇宙第一IDE,哈哈,就讲到这里吧,各位了解了吗? o7WAH@g  


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

一般

差劲
离线黎儿画板

性别:
人妖
发帖
345
金币
59
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 1楼 发表于: 2019-12-08


离线黎儿画板

性别:
人妖
发帖
345
金币
59
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 2楼 发表于: 2019-12-08


离线yyh135m

性别:
帅哥
发帖
1295
金币
2212
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 3楼 发表于: 2019-12-08


离线chen

性别:
帅哥
发帖
3961
金币
3120
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 4楼 发表于: 2019-12-08
d5 {=<j  


离线小鑫鑫

性别:
人妖
发帖
5423
金币
13774
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 5楼 发表于: 2019-12-09


离线kingboy100

性别:
人妖
发帖
2976
金币
2146
提示:会员销售的附件,下载积分 = 版块积分 + 销售积分       只看该作者 6楼 发表于: 2019-12-09
    


快速回复
限150 字节
 
上一个 下一个