當前位置:首頁 » 編程軟體 » 操作系統在線編譯

操作系統在線編譯

發布時間: 2022-07-26 05:59:50

Ⅰ 如何編譯linux操作系統的源代碼

首先uname
-r看一下你當前的linux內核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname
-r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核
make
menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make
bzImage、make
moles、make
moles
4、安裝,make
install
5、.創建系統啟動映像,到
/boot
目錄下,執行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於
/boot/grub/grub.cfg
文件的設置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改
set
default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make
menuconfig這一步,改好後就萬事ok了。
最後再用uname
-r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?

Ⅱ 不同的操作系統如何編譯一段軟體的代碼

首先,准備好命令行和編輯器。針對主流操作系統分別做簡單的解釋:Linux:已經具備了命令行和一個叫GCC 的編輯器。在命令行中輸入gcc ,如果「command not found」,那麼請安裝GCC。Mac OS X:命令行是Terminal,位於Applications/Utilities。你需要下載XCode ,它包含Apple的編輯器。Windows:微軟在免費下載的Visual Studio Express中提供了編輯器,但是Cygwin 界面更友好。安裝中要注意的是:要選擇「Devel」部分中所有的安裝包。下載:基本上所有的源數據包都有.tgz或者.tar.gz的後綴,有文件名和版本號,比如example-3.2.8.tar.gz。建立一個名為「source」或者「build」的目錄,下載並放在該目錄中。解壓縮:從命令行進入工作目錄(用cd命令):cd source 最快的方法是:tar -xzvf example-3.2.8.tar.gz這會將所有的源代碼解壓到一個新的子目錄中,而且文件名跟應用是一樣的。進入目錄只需要敲:cd example-3.2.8讀文檔:在代碼的文件包中會有像README 和INSTALL之類的文件,一定要讀。你也可以使用less 命令在命令行中讀取:less INSTALL 或者直接用合適的格式打開它們,它們會告訴你要安裝哪些包、安裝指南、注意問題等。Building:雖然各有不同,但大抵方法如下:輸入:./configure 運行配置工具會告訴你缺少哪些軟體和重要的文件的位置。有時候你需要自己指明特定文件在你計算機上的位置,比如:./configure --ssl-dir=/usr/local/include Configuration 過程要用幾分鍾,當它完畢的時候,你就可以編譯了。如果出現錯誤,參考下面的Troubleshooting。編譯請輸入:make一切順利就開始編譯了。編譯會佔用一段時間而且當運行時會佔用你電腦的所有進程。不要擔心,當編譯結束的時候,如果你仍然沒有看到已錯誤,那你已經搞定了。剩下要做的只是將不同的文件放到文件系統中:make installTroubleshooting: 如果以上的步驟有遇到錯誤,有方法讓你知道問題所在。確認你是否嚴格地按要求執行以上步驟。【

Ⅲ 新手學堂:Linux操作系統中如何編譯C程序

登陸後用vi
寫一個C程序:
過程如下:
vi
Hellolinux.c
回車
進入後選擇一種輸入方式(a
,i
,o);
#include
main()
{
printf(Hello
linux
!n);
}
寫完程序後Esc
並保存退出(:w
保存
:q
退出)
然後用gcc
編譯:
gcc
Hellolinux.c
回車
用ls
查看就會看到一個Hellolinux.out
文件,下面我們運行它;

./Hellolinux.out
回車
將會顯示
Hello
linux
!

Ⅳ 如何自己編譯LINUX操作系統

編譯這個難啊,還要網速允許
你可以編譯
gentoo單純的自己編譯一個不屬於任何現在的版本可能不是一
般人可以做到的

Ⅳ 能實現輸入函數的C/C++在線編譯器有哪些

我認為目前最好用的在線編譯器; http://www.mcqyy.com/RunCode/cpp/

Ⅵ 普及知識!跪求答案! 操作系統是怎麼開發、編譯(怎麼編譯的)並且運行在設備上(這個問題的意思是

就我知道的向你說一說:
1,操作系統用的是c語言開發的:
但這c語言和普通的c語言是有區別的,不能使用庫函數。
這個c語言的編譯器也和普通的編譯器有區別的。《30天自製操作系統》-用的是開源的c編譯器並且經過修改的。
2,第一扇區的bootstrap
bootloader或者說bootlstrap是用匯編語言寫的
但是這個匯編器和拿來開發應用程序也是有區別的,
就拿匯編中的偽指令org和p應用程序的匯編編譯器是無法達到想要的目的的。
如果第一扇區是啟動分區,那麼對應的最後兩個位元組為511-0x55AA
bootloader開始就是一條跳轉指令0xeb開頭的後面是偏移量,緊接著就是這個媒介的配置信息
,緊接著才是我們要寫的16bit的匯編語言。
這里要做的事就是:
讀取硬碟上的數據放到內存中准備運行,保存配置數據,由16bit實地址模式切換到32模式。。。
本人原來照葫蘆畫瓢畫過。
但是切換到32bit下要用到內存保護機制,內存映射機制,虛擬內存機制。。。這些和計算機硬體的密切相關。無奈本人了解的計算機硬體一般都是十六位的,而且大多與概念相關。
而且對於的intel指令手冊都是英文的,總而言之能力有限無法進行下去。
如果要開發操作系統,以我看:
計算機組成原理特別是32bit下的內存映射保護相關內容必須知道
匯編和c語言那時必須的會
耐心時間
推薦書籍《30天自製操作系統》
通過開發操作系統可以加深 匯編與計算機硬部件 匯編和c語言 相關連的理解。
如果你想試一試可以在虛擬機下玩一玩。
——以上內容僅供參考——

Ⅶ 操作系統是怎麼編譯的

電腦上有相關的編譯器,比如linux上有GCC是編譯C語言的!把你寫好的代碼編譯成計算機能執行的代碼.windows上有VS,VC,不過這幾個都是集成開發環境,包括編譯器,編輯器等!

Ⅷ 操作系統可以編譯高級語言源程序嗎

首先你要搞清楚操作系統與編譯器的概念,操作系統是一個軟體平台,本身沒有編譯功能。編譯器是運行於操作系統上的一個應用程序,只要有人把某種編程語言的編譯器移植到這個操作系統上,那麼就可以在這個操作系統上編譯這種語言。
另外,不知道你說的高級語言是哪些,C++和JAVA之類的算不算?
一般來說,電腦用的操作系統上面,比如windows 和 Linux 都有多編譯器,而小型的嵌入式操作系統則少有編譯器可以能運行其上。

Ⅸ 適合win10系統的c語言編譯器

桌面操作系統

對於當前主流桌面操作系統而言,可使用 VisualC++、GCC以及 LLVM Clang 這三大編譯器。

Visual C++(簡稱 MSVC)只能用於 Windows 操作系統;GCC 和 LLVM Clang除了可用於Windows操作系統之外,主要用於 Unix/Linux操作系統。

像現在很多版本的 Linux 都默認使用 GCC 作為C語言編譯器,而像 FreeBSD、macOS 等系統默認使用 LLVM Clang 編譯器。由於當前 LLVM 項目主要在 Apple 的主推下發展的,所以在 macOS中,Clang 編譯器又被稱為 Apple LLVM 編譯器。

MSVC 編譯器主要用於 Windows 操作系統平台下的應用程序開發,它不開源。用戶可以使用 Visual Studio Community 版本來免費使用它,但是如果要把通過 Visual Studio Community 工具生成出來的應用進行商用,那麼就得好好閱讀一下微軟的許可證和說明書了。

而使用 GCC 與 Clang 編譯器構建出來的應用一般沒有任何限制,程序員可以將應用程序隨意發布和進行商用。

MSVC 編譯器對 C99 標準的支持就十分有限,加之它壓根不支持任何 C11 標准,所以本教程中設計 C11 的代碼例子不會針對 MSVC 進行描述。所幸的是,Visual Studio Community 2017 加入了對 Clang 編譯器的支持,官方稱之為——Clang with Microsoft CodeGen,當前版本基於的是 Clang 3.8。

也就是說,應用於 Visual Studio 集成開發環境中的 Clang 編譯器前端可支持 Clang 編譯器的所有語法特性,而後端生成的代碼則與 MSVC 效果一樣,包括像 long 整數類型在 64 位編譯模式下長度仍然為 4 個位元組,所以各位使用的時候也需要注意。

為了方便描述,本教程後面涉及 Visual Studio 集成開發環境下的 Clang 編譯器簡稱為 VS-Clang 編譯器。

嵌入式系統

而在嵌入式系統方面,可用的C語言編譯器就非常豐富了,比如:

  • 用於 Keil 公司 51 系列單片機的 Keil C51 編譯器;

  • 當前大紅大紫的 Arino 板搭載的開發套件,可用針對 AVR 微控制器的 AVRGCC 編譯器;

  • ARM 自己出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和當前最新的 DS-5 Studio;

  • DSP 設計商 TI(Texas Instruments)的 CCS(Code Composer Studio);

  • DSP 設計商 ADI(Analog Devices,Inc.)的 Visual DSP++ 編譯器,等等。


  • 通常,用於嵌入式系統開發的編譯工具鏈都沒有免費版本,而且一般需要通過國內代理進行購買。所以,這對於個人開發者或者嵌入式系統愛好者而言是一道不低的門檻。


  • 不過 Arino 的開發套件是可免費下載使用的,並且用它做開發板連接調試也十分簡單。Arino 所採用的C編譯器是基於 GCC 的。


  • 還有像樹莓派(Raspberry Pi)這種迷你電腦可以直接使用 GCC 和 Clang 編譯器。此外,還有像 nVidia 公司推出的 Jetson TK 系列開發板也可直接使用 GCC 和 Clang 編譯器。樹莓派與 Jetson TK 都默認安裝了 Linux 操作系統。


  • 在嵌入式領域,一般比較低端的單片機,比如 8 位的 MCU 所對應的C編譯器可能只支持 C90 標准,有些甚至連 C90 標準的很多特性都不支持。因為它們一方面內存小,ROM 的容量也小;另一方面,本身處理器機能就十分有限,有些甚至無法支持函數指針,因為處理器本身不包含通過寄存器做間接過程調用的指令。


  • 而像 32 位處理器或 DSP,一般都至少能支持 C99 標准,它們本身的性能也十分強大。而像 ARM 出的 RVDS 編譯器甚至可用 GNU 語法擴展。


  • 下圖展示了上述C語言編譯器的分類。


Ⅹ 如何在64位操作系統上使用masm進行編譯鏈接和運行

關於如何在64位操作系統上進行編譯鏈接:
首先,需要下載debug.exe,DOSbox,masm
假如匯編源文件放在:D:\Develop\ASM_Program\first_asm\下,文件名為1.asm
下載一個masm6.15,將MASM.EXE,LINK.EXE,ML.EXE三個文件復制到1.asm目錄中,
1.asm內容:(求2^3)

assume cs:abc

abc segment
mov ax,2
add ax,ax
add ax,ax

mov ax,4c00H
int 21H
abc ends
end

win+R,輸入cmd
進入命令行,輸入
C:\Users\Administrator>D:
D:\>cd Develop\ASM_Program\first_asm
至此,進入了源程序所在目錄,之後,輸入:
D:\Develop\ASM_Program\first_asm>masm 1.asm
會顯示:
Microsoft (R) MASM Compatibility Driver
Copyright (C) Microsoft Corp 1993. All rights reserved.

Invoking: ML.EXE /I. /Zm /c /Ta 1.asm

Microsoft (R) Macro Assembler Version 6.15.8803
Patched for you by promethee [ECL] in the year 2001 - enjoy
Copyright (C) Microsoft Corp 1981-2000. All rights reserved.

Assembling: 1.asm

D:\Develop\ASM_Program\first_asm>

這樣,程序就被編譯好了,在1.asm文件夾下出現了一個1.obj的文件
之後,再輸入:
link 1.obj之後回車
會顯示鏈接信息:
Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.

Run File [1.exe]: //顯示這個之後需要按下回車之後才出現下一行
List File [nul.map]:
Libraries [.lib]:
Definitions File [nul.def]:
LINK : warning L4021: no stack segment
LINK : warning L4038: program has no starting address

這樣,就生成了1.exe文件,即可執行文件
但是由於操作系統是64位的,不能直接運行這個文件,所以,需要使用DOSbox進行運行
我們先把下載下來的debug.exe也放到D:\Develop\ASM_Program\first_asm下面
打開DOSbox,輸入:
mount c d:\Develop\ASM_Program\first_asm\
之後,輸入c:
然後輸入debug 1.exe
就使用debug打開了1.exe了
可以輸入r命令查看當前寄存器的狀態
其中,CX寄存器中記錄了程序的大小
輸入t命令進行單步執行
注意,執行到最後一句int 21時,要使用p命令執行。

熱點內容
matlab稀疏矩陣存儲 發布:2025-02-06 03:07:54 瀏覽:838
國際服2b2t伺服器地址 發布:2025-02-06 03:06:28 瀏覽:390
c語言輸出b 發布:2025-02-06 03:06:27 瀏覽:31
普通火車wifi密碼多少 發布:2025-02-06 03:04:20 瀏覽:436
可編程監控 發布:2025-02-06 03:03:33 瀏覽:645
c語言取隨機數 發布:2025-02-06 02:46:57 瀏覽:863
uc緩存的視頻卡住 發布:2025-02-06 02:17:05 瀏覽:144
解壓同學介紹 發布:2025-02-06 02:13:10 瀏覽:776
icsftp 發布:2025-02-06 02:12:59 瀏覽:325
ftp跨域上傳文件 發布:2025-02-06 02:09:22 瀏覽:822