linux下產生s檔的過程叫「編譯」。 linux中的編譯器gcc會把預處理後的「.i」檔案進行語法分析、語意分析、最佳化後產生彙編程式碼檔案(「.s」檔),執行語法為「gcc -S 檔案名稱.i - o 檔案名稱.s」;接著彙編器會把彙編程式碼檔案轉換成中間目標檔案;最後連結器ld會把目標檔案與所需的靜態連結函式庫、動態連結函式庫連結起來成為可執行的檔案。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux下編譯c檔成為執行檔的程序
#使用gcc把C檔編譯成執行檔可分為四步:預編譯、編譯、組譯、連線。
1、預編譯(產生.i
檔)
#預編譯器cpp把原始檔和相關的頭檔(如實例程式碼中的頭檔stdio.h)預編譯成一個.i的檔。
執行的指令:gcc -E 檔名.c -o 檔名.i
#預編譯的作用:
a、處理所有的「#include」預先編譯指令
b、處理所有的"#define"指令,將程式碼中所有的"#define"刪除,並展開所有的巨集定義
c、處理所有的條件預編譯指令,如#if #elif #else #ifdef #ifnodef #endif等
d、刪除所有的註解
e、新增行號和檔案名稱標識,以便產生錯誤時給予提示訊息
2、編譯(產生<span style="color: rgb(255, 0, 0);">.s</span>
檔)
編譯器gcc把預處理後的檔案進行語法分析、語意分析、最佳化後產生彙編程式碼檔案。
執行的指令:gcc -S 檔名.i -o 檔名.s
#3、組譯(產生.o檔)
彙編器把彙編程式碼檔案轉換成中間目標檔案
執行的指令:gcc -c 檔案名稱.s -o 檔案名稱.o
(注意:這裡是小寫的-c,而不是大寫的-C,本人在此處踩坑,出現異常)
4、鏈接(生成可執行檔)
#連結器ld把目標檔案與所需要的所有的附加的目標檔案(如靜態連結函式庫、動態連結函式庫)連結起來成為可執行的檔案
執行的指令:gcc 檔案名稱. o -o 檔名
linux下編譯c檔成為執行檔的實例
1、準備C檔案
在命令列模式下輸入:vim hello.c
進入編輯模式,輸入以下程式碼:
#include<stdio.h> int main(void){ printf("Hello World!\n"); return 0; }
先點選ESC鍵退出編輯模式,然後輸入:wq(注意輸入的時候有冒號哦)回到命令列。
2、編譯
編譯C檔成執行檔
執行的指令:gcc hello.c -o hello
輸入ls指令,能看到目前資料夾下多了一個檔案:hello
#3、執行
執行: ./hello
可得輸出hello World!
相關推薦:《Linux影片教學》
以上是linux下產生s檔的過程叫什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

掌握Linux操作的原因是其廣泛的應用場景和強大的功能。 1)Linux適合開發者、系統管理員和技術愛好者,應用於服務器管理、嵌入式系統和容器化技術。 2)學習Linux可以從文件系統結構、Shell使用、用戶權限管理和進程管理入手。 3)Linux命令行是其核心工具,通過Shell執行命令,如ls、mkdir、cd等,支持重定向和管道操作。 4)高級用法包括編寫自動化腳本,如備份腳本,使用tar命令和條件判斷。 5)常見錯誤包括權限、路徑和語法問題,可通過echo、set-x和$?調試。 6)性能優化建議

Linux系統的五大支柱是:1.內核,2.系統庫,3.Shell,4.文件系統,5.系統工具。內核管理硬件資源並提供基本服務;系統庫為應用程序提供預編譯函數;Shell是用戶與系統交互的接口;文件系統組織和存儲數據;系統工具用於系統管理和維護。

在Linux系統中,可以通過在啟動時按特定鍵或使用命令如“sudosystemctlrescue”進入維護模式。維護模式允許管理員在不受干擾的情況下進行系統維護和故障排除,如修復文件系統、重置密碼、修補安全漏洞等。

Linux初學者應掌握文件管理、用戶管理和網絡配置等基本操作。 1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。 2)用戶管理:使用useradd、passwd、userdel、usermod命令。 3)網絡配置:使用ifconfig、echo、ufw命令。這些操作是Linux系統管理的基礎,熟練掌握它們可以有效管理系統。

本文解釋瞭如何管理Linux中的Sudo特權,包括授予,撤銷和安全性最佳實踐。關鍵重點是安全和sudoers安全和限制訪問。Character數量:159

本文提供了有關使用Google Authenticator在Linux上設置兩因素身份驗證(2FA)的指南,詳細介紹了安裝,配置和故障排除步驟。它突出了2FA的安全益處,例如增強的SEC

本文討論了使用TOP,HTOP和VMSTAT監視Linux系統性能,並詳細介紹其獨特功能和自定義選項,以進行有效的系統管理。

文章討論了使用APT,YUM和DNF在Linux中管理軟件包,涵蓋安裝,更新和刪除。它比較了它們對不同分佈的功能和適用性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版