当前位置:首页 » 编程语言 » 操作系统c语言

操作系统c语言

发布时间: 2022-09-25 02:28:39

⑴ 如何用c语言编写简单的操作系统

C语言当然是可以写操作系统的,但是操作系统的编写一般都不仅仅只是用C语言编写的。
写操作系统需要编程语言提供以下几个特征:
1、跨平台,不能是只在某个平台下编译(VB就不行);
2、必须是编译型语言(PHP就不行),或者有一个非常高效的解释器;
3、必须有方便的操作硬件的功能,容易嵌入汇编(java就不行);
4、兼容性要好,最好不同编译器编译的符号要基本相同,容易链接(C++不行,如果放弃Class的话C++基本可以);
5、编译器本身最好是由该语言自己完成的(大部分语言的编译器都是用C/C++写的);
6、开发者可以很方便的扩展、改造、或者使用第三方的运行库(大部分语言的库都无法修改);
7、开发者众多(小众语言就不行);
8、该语言开发操作系统的资料要足够完善。
所以总结下来,C语言是首选。

⑵ c语言的操作系统是什么

c语言是一种编程语言。 跟操作系统没有任何关系。
没有所谓的c语言的操作系统说法。
如果你指哪些操作系统是用c语言开发的,那么 windows,linux,mac等都用了c语言开发他们的操作系统。
c语言知识一个语言,用于编程,指示计算机处理器如何工作,处理数据等。你可以用c语言,也可以用其他很多语言。
操作系统是一个大型软件,软件本身管理计算机系统的各种资源:cpu,内存,各种设备,文件,进程线程调度等。 这个软件本身可以用c语言来写,也可以用其他语言来写出来。

⑶ 手机操作系统用什么语言编的是C语言吗

不同的手机操作系统是基于不同的编程语言开发的。

⑷ 为什么现在的操作系统基本上用C语言来实现

因为如果要在开发时间和软件效率之间取一个平衡点的话,开发操作系统的平衡点就是C语言。

除了C语言以外,其它语言都不具备某些特性、不够方便、软件效率不高。

写操作系统需要编程语言提供以下几个特征:

1、跨平台,不能是只在某个平台下编译(VB就不行);
2、必须是编译型语言(PHP就不行),或者有一个非常高效的解释器;
3、必须有方便的操作硬件的功能,容易嵌入汇编(Java就不行);
4、兼容性要好,最好不同编译器编译的符号要基本相同,容易链接(C++不行,如果放弃Class的话C++基本可以);
5、编译器本身最好是由该语言自己完成的(大部分语言的编译器都是用C/C++写的);
6、开发者可以很方便的扩展、改造、或者使用第三方的运行库(大部分语言的库都无法修改);
7、开发者众多(小众语言就不行);
8、该语言开发操作系统的资料要足够完善。

所以总结下来,C语言是首选。

当然了,不是说其它语言一定不行,只是其它语言开发操作系统时会有各种各样的不方便的地方,因为有人就用Java+汇编来实现一个操作系统,也不是不可以,只是很麻烦。(参见写操作系统只能用汇编和C语言? - 北极的回答)

而由于最早开发操作系统的时候选用了C语言,而且一直延续了下来。不管是习惯还是语言特性,C语言一直都很符合条件,因此没有必要冒着各种风险换一种语言来开发。

补充,如果使用C++写操作系统,并不是特别困难。C++的问题在于混合编译时符号表比较麻烦(VC和GCC生成的全局符号名字不一样),C++的运行效率略低于C,所以一般没有人用C++去写内核。

但是Windows里确实存在着使用C++写的驱动,也算是属于操作系统的一部分吧。

⑸ c语言怎样编写操作系统

用c语言是可以编操作系统的,像unix就是用c语言编写出来的,不过没有对c语言深入研究的人是编不出来的
如果想编个软件的话,建议学面向对象的编程语言,比如c#,java
这种语言比较接近自然语言,写程序比较容易,学起来也比较简单

⑹ c语言在各个操作系统语法一样吗

linux下的C语言编程与windows下的C语言编程从语法上看没有区别,
但是C语言是有标准的,叫做C语言的必须符合国际标准。区别在于Windows通过头文件windows.h提供的Windows API函数,而Linux则提供了它自己的函数。
基本的C库函数,如stdio.h,string.h等也是标准化的,所有C编译器都必须提供这些函数,典型的如printf, strcpy等。
问题是在于,如果你要调用系统功能,比如在Windows下,则必须通过Windows API来实现,因此,这部分代码就不会和Linux下兼容。

⑺ C语言如何自制操作系统

用obj做成二进制,格式是:obj -I elf格式 -S -R ".eh_frame" -R ".comment" -O binary elf文件 最终的二进制文件.例如: obj -I elf32-i386 -S -R ".eh_frame" -R ".comment" -O binary a.obj a.bin

⑻ Linux操作系统中默认安装的C语言编译系统是

Linux操作系统中默认安装的C语言编译系统是GCC(GNU Compiler Collection),是Linux下最常用的C语言编译器,是GNU项目中符合ANSI,C标准的编译系统,能够编译用C、Object C等语言编写的程序。

同时它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Mola,3和Ada等。

C语言的标准

1.1 K,RC

1973年,Dennis M Ritchie设计和实现了C语言,从那以后使用者逐渐增加。

1978年,Kernighan 和 Ritchie 合着了《The C Programming Language》,这本书定义的C语言被称为 K,RC 。

1.2 标准 C

随着C语言使用日益广泛,出现了许多新问题,人们迫切希望对C语言进行标准化。

第一个标准:C89

1983年,ANSI成立了一个委员会X3J11,对C语言进行标准化。

1989年,ANSI 批准了第一个C语言标准 X3,159-1989,并于1990年公布,被称为 ANSIC、C89 或 C90。

1990年,这个标准又被批准为ISO标准:ISO,IEC 9899:1990 。

ANSIC标准被ISO采纳,并且ISO发布的修订版也被ANSI采纳,因此ANSI标准和ISO标准实际上没有技术区别。这些名称的含义是相同的:ANSI C、ISO C、标准C。

1994年和1996年,ISO发布了两个技术更正,更正了1990ISOC标准中的错误。

第二个标准:C94

1995年,ISO发布了1990ISOC标准的一个补充,称为AMD1。扩充后的标准被称为C94或C95。

第三个标准:C99

1999年,ISO发布了一个新版本的ISOC标准:ISO,IEC9899:1999,称为C99。

2001年、2004年和2007年,ISO发布了三个技术更正,更正了1999ISOC标准中的错误。

第四个标准:C11

2011年,ISO发布了一个新版本的ISOC标准:ISO,IEC9899:2011,称为C11。C11 是 C语言的最新标准。

1.3 GNUC

1984年,Richard Stallman 发起了GNU计划,它的目标是开发一个完整且自由的Unix-like操作系统(GNU系统)。

GNU系统是一个完整的操作系统,包括操作系统内核和各种工具软件。各种GNU系统的变种(例如Redhat、Ubuntu等)已经被广泛使用,它们使用的操作系统内核都是Linux。虽然这些系统经常被称为Linux,但准确地说,它们是GNU/Linux系统。

GNU在编写Linux时扩展了标准C,称为GNUC。

GNU C的扩展详见:Extensions to the C Language Family

GNU C也称为Linux C,一般用于Linux上的开发,而标准C可以跨平台。

GNU C使用的编译器是GCC。

⑼ 哪些操作系统是用C语言编写的

Unix某个版本是用C语言编写的,在C语言使用之前,用的是汇编
Windows传闻80%是用C语言编写的,也有部分是C和汇编混编的
据说Windows2000以后大多是用C++编写的
Linux是用C语言编写的,它的代码是公开的,可以去看看,看懂了基本就无敌了
Mac
OS至今还不清楚,应该不会脱离C/C++吧,用汇编不知道要编到猴年马月去了,其它高级语言又不能进行底层操作,C/C++相对于其它高级语言来说,最合适了,当然肯定不及汇编了

⑽ 用C语言可以写操作系统吗

C语言当然是可以写操作系统的,但是操作系统的编写一般都不仅仅只是用C语言编写的。
写操作系统需要编程语言提供以下几个特征:
1、跨平台,不能是只在某个平台下编译(VB就不行);
2、必须是编译型语言(PHP就不行),或者有一个非常高效的解释器;
3、必须有方便的操作硬件的功能,容易嵌入汇编(Java就不行);
4、兼容性要好,最好不同编译器编译的符号要基本相同,容易链接(C++不行,如果放弃Class的话C++基本可以);
5、编译器本身最好是由该语言自己完成的(大部分语言的编译器都是用C/C++写的);
6、开发者可以很方便的扩展、改造、或者使用第三方的运行库(大部分语言的库都无法修改);
7、开发者众多(小众语言就不行);
8、该语言开发操作系统的资料要足够完善。
所以总结下来,C语言是首选。

热点内容
登陆页面源码 发布:2025-01-09 02:13:04 浏览:535
Uc浏览器上传 发布:2025-01-09 01:50:16 浏览:527
javamysqljar 发布:2025-01-09 01:50:14 浏览:771
屏幕设置密码怎么设置 发布:2025-01-09 01:48:01 浏览:344
快吧我的世界盒子服务器连接不上 发布:2025-01-09 01:36:11 浏览:382
搭建中转云服务器挖矿 发布:2025-01-09 01:27:12 浏览:552
存储过程中的for循环 发布:2025-01-09 01:25:38 浏览:862
阿里云服务器宽带是专线吗 发布:2025-01-09 01:22:42 浏览:605
上门修个密码箱锁多少钱 发布:2025-01-09 01:21:49 浏览:269
python企业培训 发布:2025-01-09 01:17:14 浏览:894