<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
gcc hello.c -o hello.exe
原始檔( -E) 預處理檔案 (-S) 組合檔案 (-c) 目標檔案 ( 無)可執行檔案
hello.c--預處理--hello.i--編譯--hello.s---組合--hello.o--連結--hello.exe
預處理
gcc -E hello.c -o hello.i
1.標頭檔案展開 —不檢查語法錯誤,可以展開任意檔案
2.宏定義—將宏名替換為宏值,不檢查語法錯誤
3.替換註釋—變成空行
4.展開條件編譯—根據條件來展開指令
編譯
gcc -S hello.i -o hello.s
1.將c程式翻譯為組合指令
2.逐行檢查語法錯誤–整個編譯4步中最耗時間的過程
組合
gcc -c hello.s -o hello.o
1.將組合指令翻譯成對應的二進位制編碼
連結
gcc hello.o -o hello.exe
1.資料段合併
2.資料地址回填
3.庫引入
暫存器、快取、記憶體三者關係
cpu計算時,先預先把要用的資料從硬碟督導記憶體,然後再把即將要用的資料讀到暫存器中。快取能夠提高資料的讀取速度。
整合式開發環境 IDE
用於提供程式開發的應用程式,一般包括編輯器、編譯器、偵錯程式和使用者介面工具。
源程式(原始碼)是指按照一定的程式設計語言規範編寫的未經過編譯的文字檔案,是具有可讀性的計算機語言指令。可以比作自己手寫的程式程式碼。
可執行程式(Executable Program,EXE file)是可以在作業系統儲存空間中浮動定位的二進位制可執行程式。一般軟體安裝後會生成可執行檔案,可以直接載入到記憶體中,並又作業系統載入並執行。
以 C 語言為例,自己編寫的原始碼副檔名為 c,這個 c 檔案就是原始檔。
從原始檔到可執行檔案一般需要經過幾個步驟:預處理->編譯->組合->連結這四個過程。
這裡首先在 linux 作業系統中編寫原始碼,並命名為 hello.c,內容如下:
#include <stdio.h> int main() { printf("Hello world!n"); return 0; }
一個很簡單的原始碼,但是這樣的原始碼如果不是在整合式開發環境(Integrated Development Environment,IDE)中是不能夠直接點選執行的,需要經過一系列的操作,具體為:
# 預處理 gcc -E hello.c -o hello.i # 編譯 gcc -S hello.i -o hello.s # 組合 gcc -c hello.s -o hello.o # 連結 gcc hello.o -o hello
經過以下操作後,就能夠發現在 hello.c 檔案同級目錄中出現了檔案 hello.i,hello.s,hello.o,hello。可知檔案 hello 即為可執行程式,我們在終端中輸入下方的指令,就能夠看到最後的輸出結果。
./hello
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45