大家好,今天小编关注到一个比较有意思的话题,就是关于c语言 牛逼的问题,于是小编就整理了2个相关介绍c语言 牛逼的解答,让我们一起看看吧。
为什么C语言编写的系统程序执行速度比用其他语言编写的快?
我是程序员,我从我理解的角度回答这个问题,抛砖引玉,引发讨论。
所有语言写的程序,最后都要编译或者解释成机器语言0101来执行。机器语言0101的基础单元就是指令,好比英文字母和单词。
最开始的编程就是写出一组组指令,好比写英语作文。这个过程就是最直接的最快的。
但是原始指令写程序对于人类来说太难理解了,于是就出现了高级语言和对应的编译器。
编译器就是把高级语言翻译成原始指令,也就是机器语言0101。
问题就是这个翻译的过程,除非编译器特别牛逼,每行代码翻译都是翻译成最直接高效的机器语言。显然这是不可能的,翻译的过程肯定有多余和啰嗦的部分。
比如英文翻译成中文,有的句子可以翻译成一句成语,也可以翻译成一段大白话。
一方面这考验语言编译器的水平,同样的源码,不同编译器编译后的执行效率不一样。另外一方面语言越复杂越难翻译,汇编机器语言,最好翻译,一行对应一个指令,高效。C需要面向过程的,增加了一些分支,循环等高级需要特性,也比较好翻译。
后来的更高级的语言加入了各种面向对象,接口,lamda表达式等高级特性,翻译后的指令执行效率就更低一些。
另外还有一些语言是要运行在解释器或者虚拟机上执行的,比如java shell perl等等,这就好比通过翻译软件聊天,边聊天边翻译,聊一句翻译一句,效率自然就更低了。
C语言开发用什么工具比较好?
vim+gcc+gdb。会用的人都知道有多好用。尤其是学习的,千万别用集成环境,代码提示和一键编译运行,傻瓜式操作什么都学不到。做项目的话可以用个轻量级的继承环境提高效率
我是宇宙君,干了20多年开发,我来说说。
C的开发从根本上来说你需要三个东西:编辑器,C编译连接器,目标代码调试器。我们分开来说说。
1、器(或IDE):原则上说你可以用任何一种纯文本编辑器来编辑代码,但为了编辑效率,一般会使用专业的代码编辑器(或IDE),比如:在windows下有微软为大家提供的宇宙第一的VS,你可以选任何一个最近版本的V,当然VS因为功能太强也就比较大如果你的机器不是很给力那你还可以选择VSCode(需要C编译调试插件),source insight,UtraEdit,Devc++等。Linux下选择也很多,你如果是原教旨主义工程师那么必须选择VI或VIM:),不讲究呢就sublime甚至geditor等。
2、编译器:C因为用的很广,实际上有很多不同使用场景的编译器,但我理解你是为了学习C对吧?那正常只有两个选择,微软的C编译连接器和GCC。微软的C编译器与它的集成开发环境VC,VS直接打包在一起你不用了解细节直接用它的IDE就可以。而gcc你需要自己将其配置但开发编辑器中,你至少需要了解gcc的编译开关参数。另外多说一点gcc,gcc是GNU编译器套件(GNU Compiler Collection)的缩写,它实际上包括了C、C++、Objective-C、Fortran、[_a***_]、Ada、Go语言和D语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等),非常强大!而且是跨平台的,你以后给经常用到它,有必要熟悉一下。
3、调试器:如果是使用微软的IDE,啊你也不需要了解细节,微软都集成好了,直接用就好啦!当前另一些比如DevC++也集成好了。如果是其它的独立编辑和编译环境就需要自己配置,一般使用gcc配套的gdb来做。
最后总结一下。
Windows系统下:初学者不折腾那就是微软的VS集成环境,机器不行就换DevC++(但这个平台实际上有些烦人的bug..)或者VSCode,如果不嫌版本低甚至可以VC6,哈哈。
Linux系统下:VSCode,sublime,vim都是好选择!
然后,给到学习C的朋友一句鼓励的话:C语言江湖深似海,入此江湖遍历鬼雨旭日,回首往已百年身。。。慎重啊!
:)
到此,以上就是小编对于c语言 牛逼的问题就介绍到这了,希望介绍关于c语言 牛逼的2点解答对大家有用。