android – 在不同操作系统之上使用编程语言

有人可以帮我“理解我对各种编程语言在不同操作系统上的位置的理解吗?从底部开始 – 基本的金属计算机只能理解机器代码或汇编程序.这意味着操作系统,比如
Linux,用C语言编写并编译成机器代码,对吧?还是汇编?

如果您使用C语言编写Linux,是否意味着默认情况下C编译器已存在,我可以用C编写任何简单程序,将其放在任何文件夹中并从命令行运行它?
我看到一些像Ubuntu这样的Linux发行版都带有folders / perl和/ python.我假设这些是其他高级语言的编译器或解释器,并作为这些特定操作系统发行版的附加组件.如果我想运行Java,我会添加Java JVM等.
但是C是默认的Linux语言?或者C也可以开箱即用?

然后,如果我查看维基百科,我会看到以下内容:

> Windows:C,C,汇编
> OS X:C,C,Objective C.
> iOS:C,C,Objective C,Swift
> Android:C,C,Java

是否意味着每个操作系统使用相应语言编写的任何“Hello World”程序都是开箱即用的?

从理论上讲,我可以在Swift for iOS中编写硬件驱动程序吗?或者某些语言​​用于低级别任务,有些语言用于最终用户应用程序?

我可以用C编写程序并在iOS和Android上运行吗?或者我是否仅限于Objective-C / Swift / Java?

要在上面运行任何其他语言,我需要添加相应的附加软件,如编译器/解释器/ VM.正确?

最佳答案 用C,C和汇编编写的所有内容都首先成为机器代码.实际在硬件上执行的所有软件都是机器代码.

您的操作系统由唯一允许执行某些操作的机器代码组成(主要与控制硬件有关).这允许操作系统充当硬件的一种网守.常规程序通过调用操作系统公开的函数来访问硬件.

编写操作系统的语言与在该操作系统上运行的程序无关.基本上,无论什么工具将您的源代码转换为机器代码(编译器,汇编器等)都关心语言,但在此之后它的二进制文件一直在关注.

点赞