大家好,今天小编关注到一个比较有意思的话题,就是关于c语言能写啥的问题,于是小编就整理了2个相关介绍c语言能写啥的解答,让我们一起看看吧。
哪些语言可以写操作系统?
随着计算机技术和互联网技术的发展,可以说操作系统已经不仅仅是指的用来管理软硬件***的计算机程序,Emacs可以算作是操作系统、阿里云飞天也可以算作是操作系统,微信也可以算做是操作系统,从这个意义上讲用来编写操作系统的编程语言也就变得非常多样。
通常意义上的操作系统就是用来管理计算机硬件和软件***的计算程序,管理内存、处理器等硬件***供需的优先次序、控制输入输出设备、管理文件系统、以及管理网络***,当然一个成熟的桌面操作系统也有出色的人机交互界面。
这类操作系统是我们最为熟知的,服务器的Unix、Linux,桌面PC操作系统的macOS、Windows,移动端的iPadOS、iOS、Android等等,这些操作系统都是我们熟知的。
Windows使用了一部分汇编语言,大部分是C语言编写,剩下了用了很少一部分C++写图形界面,以及极少一部分的C#用来写部分应用程序,当然office、Visual Studio等对性能要求高的应用程序主要还是用C++编写的。
macOS的Darwin内核组成本质是FreeBSD+Mach,主要用C语言和Objective C/C ++(应用程序主要***用Objective-C、swift、C++),最早苹果还用汇编和Pascal写过操作系统,不过后来Pascal被淘汰了。iOS、iPadOS跟macOS非常类似,都是苹果家族的操作系统,基本技术栈和架构都差不多。
Linux因为林纳斯对C++极其厌恶,因此主要是部分***用汇编,大部分***用C语言开发,不过在应用程序层面,Linux选择就非常多,毕竟是开源的操作系统。Python、C++都有***用,比如大名鼎鼎的Linux桌面环境KDE就是用C++编写的,Gnome图形界面则是主要C和部分C++。
Android系统***用的是Linux内核,因此在底层核心技术栈Android跟Linux差不多,不过Android为了尽快吸引更多开发者、降低开发门槛,在Linux内核基础上多了一层Java虚拟机,因此Android在应用开发层面主要使用J***a语言。
大名鼎鼎的文本编辑器Emacs最开始就是要做一个操作系统,当年RMS想写一个完整的操作系统来着,当然Emacs也确实可以用来做很多事情,本质上也就是个操作系统。不过由于Linux的发展非常出色,RMS逐渐将Emacs变成了一个文本编辑器,毕竟打造一个操作系统很麻烦。
随着互联网技术的发展,我们越来越多的说云计算、大数据、物联网,人工智能技术也越来越成熟,很多应用比如微信、支付宝已经变成了一个非常强大的“平台生态”,阿里云飞天更是针对于人工智能和云计算领域的专门的操作系统,这些都可以算作是“操作系统”,因此未来J***a、JavaScript、Go等众多编程语言都可以用来写操作系统。
其实都可以,只是难易程度,效率这些不一样。编程语言只是为了简化编程,最终执行的还是机器语言。操作系统强调效率,程序优化就离不开机器指令。通常可以随便夹汇编的C用得多。
汇编,C,rust都可以。c++很少,而且c++写的都不会运行在内核深处。写操作系统的人都追求一种极致的掌控,语言的一些牛❌特性反而增加了掌控难度,就更别说那些[_a***_]虚拟机支持的语言了,看都不看一眼的
C语言是用什么编出的?
首先,C语言不是由什么语言写的。好比问:中文用什么语言写的?用什么语言讲的?C语言是int a=6;而不是mov ax,bx(汇编语言)。C语言可以用计算机写,也可以用手写,写在纸上。
你要问的应该是C编译器用什么写的。***若我猜对了,以下回答是你需要的。***若我猜错了,也看一看吧。C编译器用来把int a=6生成机器代码,当然还有链接器,把机器代码链接成可执行文件。
C编译器说到底也是一个EXE文件,或者再加上其他的dll啊之类的。***设这里有一个C编译器A.exe。
可以A.exe写一个A出来。写好C源码,用A.exe编译出另外一个A.EXE,功能可以做得一样。这种行为看起来很无聊,这里我们不探究这种行为有无意义,但这样做是可行的。还可以用A.EXE写出A2.0.exe,或A3.0.exe,A3.11exe,A3.1.1.exe,写出进化版的C编译器。还可以用J***a写A.EXE,用C++写A.EXE。甚至用汇编写A.EXE。
第一个A.EXE怎么来?当然是用汇编语言写的。第一个汇编器哪里来?用机器代码写。
小结。C语言是int=2;这些东西,而用来写C代码的东西叫开发环境,例如VC6,命令行界面的gcc等。int=2是人为制订的规则,可以用笔写在纸上。而开发环境就需要用C或者另一种语言写出来。
C语言是用计算机编写出来的,广泛用于开发,C语言的设计目标,是提供一种简易的方式编译,专门用来处理存储器,产生少量的机器码,不需要任何运行环境的支配,便能运行的一种编程语言,简称:C语言。c语言与C十十,J***a,编程语言有所不同,主要有:dang,GCC,WlN一TC,SUBLlME,MSVC,TurboC。
到此,以上就是小编对于c语言能写啥的问题就介绍到这了,希望介绍关于c语言能写啥的2点解答对大家有用。