有人可以幫助我「理解」各種編程語言在不同操作系統上的位置嗎?從底部開始 - 基本的金屬計算機只能理解機器代碼或彙編程序。這意味着操作系統,比如Linux,是用C語言編寫的,並且被編譯成機器代碼,對吧?還是彙編?在不同操作系統上使用編程語言
如果你有用C編寫的Linux,是否意味着默認情況下C編譯器已經存在,我可以用C編寫任何簡單的程序,將它放到任何文件夾並從命令行運行它? 我看到一些像Ubuntu這樣的Linux發行版隨文件夾/ perl和/ python而來。我假設這些是其他高級語言的編譯器或解釋器,並作爲這些特定操作系統發行版的附加組件。如果我想運行Java,我會添加Java JVM等。 但是C是Linux的默認語言?或者C++也可以開箱即用?
然後,如果我查維基百科,我看到下面寫在:
- 的Windows:C,C++,彙編
- OS X:C,C++,Objective C的
- iOS版:C ,C++,Objective C中,斯威夫特
- 安卓:C,C++,Java的
這是否意味着任何 「Hello World」 程序用每種操作系統的相應語言編寫的代碼都會用完?
我可以在Swift for iOS中編寫理論上的硬件驅動程序嗎?或者某些語言是針對低級別任務的,有些則針對最終用戶應用程序?
我可以用C編寫程序並在iOS和Android上運行它嗎?或者我僅限於Objective-C/Swift/Java?
要在上面運行任何其他語言,我需要添加相應的附加軟件,如編譯器/解釋器/虛擬機。正確?
沒有首先編譯就沒有C代碼運行。即使彙編器是一個簡單的編譯器,你也不能直接運行包含彙編程序的文本文件。編譯器沒有內置到OS中。在代碼被編譯成機器碼之後,它對機器無關緊要。 – Thilo
這個問題基本上意味着:'編程語言,編譯器和操作系統是如何工作的?' – tom91136
CPU只處理二進制文件指令代碼和數據。而已。 –