當前位置:首頁 » 操作系統 » 步驟條源碼

步驟條源碼

發布時間: 2024-05-05 15:35:55

① 開發一個c語言程序要經過哪四個步驟

開發一個C語言程序需要經過的四個步驟:編輯、編譯、連接、運行。

C語言程序可以使用在任意架構的處理器上,只要那種架構的處理器具有對應的C語言編譯器和庫,然後將C源代碼編譯、連接成目標二進制文件之後即可運行。

1、預處理:輸入源程序並保存(.C文件)。

2、編譯:將源程序翻譯為目標文件(.OBJ文件)。

3、鏈接:將目標文件生成可執行文件( .EXE文件)。

4、運行:執行.EXE文件,得到運行結果。

(1)步驟條源碼擴展閱讀:

C語言代碼變為程序的幾個階段:

1、首先是源代碼文件test.c和相關的頭文件,如stdio.h等被預處理器cpp預處理成一個.i文件。經過預編譯後的.i文件不包含任何宏定義,因為所有的宏已經被展開,並且包含的文件也已經被插入到.i文件中。

2、編譯過程就是把預處理完的文件進行一系列的詞法分析、語法分析、語義分析以及優化後產生相應的匯編代碼文件,這個過程往往是我們所說的整個程序的構建的核心部分,也是最復雜的部分之一。

3、匯編器不直接輸出可執行文件而是輸出一個目標文件,匯編器可以調用ld產生一個能夠運行的可執行程序。即需要將一大堆文件鏈接起來才可以得到「a.out」,即最終的可執行文件。

4、在鏈接過程中,對其他定義在目標文件中的函數調用的指令需要被重新調整,對實用其他定義在其他目標文件的變數來說,也存在同樣問題。

參考資料來源:網路-c語言

② C語言源程序到運行程序經過哪幾個步驟

1、預處理

在這一階段,源碼中的所有預處理語句得到處理,例如:#include語句所包含的文件內容替換掉語句本身,所有已定義的宏被展開。

根據#ifdef,#if等語句的條件是否成立取捨相應的部分,預處理之後源碼中不再包含任何預處理語句。

GCC預處理階段可以生成.i的文件,通過選項-E可以使編譯器在預處理結束時就停止編譯。例如:gcc -E -o hello.i hello.c

2、編譯

這一階段,編譯器對源碼進行詞法分析、語法分析、優化等操作,最後生成匯編代碼。這是整個過程中最重要的一步,因此也常把整個過程稱為編譯。

可以通過選項-S使GCC在進行完編譯後停止,生成.s的匯編程序。例如:gcc -S -o hello.s hello.c

3、匯編

這一階段使用匯編器對匯編代碼進行處理,生成機器語言代碼,保存在後綴為.o的目標文件中。

當程序由多個代碼文件構成時,每個文件都要先完成匯編工作,生成.o目標文件後,才能進入下一步的鏈接工作。

目標文件已經是最終程序的某一部分了,只是在鏈接之前還不能執行。可以通過-c選項生成目標文件:gcc -c -o hello.o hello.c

4、鏈接

經過匯編以後的機器代碼還不能直接運行。為了使操作系統能夠正確載入可執行文件,文件中必須包含固定格式的信息頭,還必須與系統提供的啟動代碼鏈接起來才能正常運行,這些工作都是由鏈接器來完成的。gcc -o hello hello.c

5、運行:執行.EXE文件,得到運行結果。

③ 一個軟體從源代碼到可執行程序,需要經歷幾個步驟的

一般經過編譯程序編譯後就可以直接執行了。
編譯程序一般有兩種執行方式:一種是邊解釋邊執行,一次將一條指令通過編譯程序編譯成機器代碼後執行,然後再編譯下一條指令,此種方式必須通過編譯程序來協助完成;另外一種是通過編譯程序直接將程序源代碼直接編輯成可執行文件,可執行文件可獨立執行,用不著編譯程序了。

④ 誰給我個易語言MP3播放器源碼啊 要進度條和顯示歌詞和列表

.版本 2
.支持庫 edroptarget
.支持庫 eMMedia
.程序集 窗口程序集_啟動窗口
.程序集變數 文件, 文本型
.程序集變數 類型, 整數型
.子程序 _播放按鈕_被單擊
播放MP3 (-1, 列表框1.取項目文本 (列表框1.現行選中項))
同步播放MP3 (列表框1.取項目文本 (列表框1.現行選中項), 0, 標簽1, )
文件 = 列表框1.取項目文本 (列表框1.現行選中項)
類型 = _專輯圖片_文件名取專輯圖片類型 (文件)
_專輯圖片_文件名取專輯圖片_到圖片框 (文件, 圖片框1, 類型)
.子程序 _按鈕1_被單擊
通用對話框1.打開 ()
列表框1.加入項目 (通用對話框1.文件名, )
' ------------------------------------------------------------------------------------
' 打開對話框,然後在列表框中加入對話框中選擇的文件
.子程序 _標簽1_反饋事件, 整數型
.參數 參數一, 整數型
.參數 參數二, 整數型
進度條1.位置 = 參數一
' ------------------------------------------------------------------------------------------------------
' 參數一是MP3的播放進度,進度條的位置將實時同步參數一
' :)
.子程序 _暫停按鈕_被單擊
暫停播放MP3 ()
.子程序 _繼續按鈕_被單擊
繼續播放MP3 ()
.子程序 _時鍾1_周期事件
.如果真 (取MP3播放狀態 () = 0)
_啟動窗口.標題 = 「等待播放」
.如果真結束
.如果真 (取MP3播放狀態 () = -1)
_啟動窗口.標題 = 「暫停」 + 「 」 + 到文本 (進度條1.位置) + 「%」
.如果真結束
.如果真 (取MP3播放狀態 () = 1)
_啟動窗口.標題 = 到文本 (「播放中」 + 「 」 + 到文本 (進度條1.位置) + 「%」)
.如果真結束
' ------------------------------------------------------------------------------------------------------------------------
' 每1毫秒都會檢測上面「如果真」的代碼,真的真將會執行代碼
.子程序 __啟動窗口_位置被改變
.如果真 (_啟動窗口.位置 = 2)
_啟動窗口.可視 = 假
置托盤圖標 (#托盤, _啟動窗口.標題)
.如果真結束
' -------------------------------------------------------------------------------------------------------------------------
' 如果窗口被最小化,將會看不到窗口,程序將會放到托盤里
.子程序 __啟動窗口_托盤事件
.參數 操作類型, 整數型
.如果真 (操作類型 = #單擊左鍵)
_啟動窗口.位置 = 1
_啟動窗口.可視 = 真
.如果真結束
.如果真 (操作類型 = #單擊右鍵)
彈出托盤菜單 (托盤菜單)
.如果真結束
' -----------------------------------------------------------------------------------------------------------------
' 如果單擊了左鍵,將會把窗口回復,可以看到窗口
' 如果單擊了右鍵,將會彈出「托盤菜單」這個菜單
.子程序 _播放_被選擇
播放MP3 (-1, 列表框1.取項目文本 (列表框1.現行選中項))
.子程序 _暫停_被選擇
暫停播放MP3 ()
.子程序 _繼續_被選擇
繼續播放MP3 ()
.子程序 _關閉_被選擇
銷毀 ()
.子程序 _恢復_被選擇
_啟動窗口.位置 = 2
_啟動窗口.可視 = 真
.子程序 __啟動窗口_創建完畢
.局部變數 左聲道, 整數型
.局部變數 右聲道, 整數型
拖放對象1.注冊拖放控制項 (取窗口句柄 ())
系統音量1.打開 (4)
滑塊條1.最小位置 = 系統音量1.取最小音量 ()
滑塊條1.最大位置 = 系統音量1.取最大音量 () ÷ 5
系統音量1.取音量 (左聲道, 右聲道)
滑塊條1.位置 = 左聲道 ÷ 5
' -------------------------------------------------------------------------------------------------------------------------
' 來自這里 https://jingyan..com/article/0320e2c1db0a181b86507b61.html
' 注冊那個命令是讓窗口可以把文件拖放進來
.子程序 _拖放對象1_得到文件
.參數 接收到的文件路徑, 文本型
列表框1.加入項目 (接收到的文件路徑, )
' -----------------------------------------------------------------------------------------------------------------------------
' 把拖進來的文件加入到列表框里
.子程序 _圖片框1_被雙擊, 邏輯型
.參數 橫向位置, 整數型
.參數 縱向位置, 整數型
.參數 功能鍵狀態, 整數型
載入 (窗口1, _啟動窗口, 真)
.子程序 _滑塊條1_位置被改變
系統音量1.置音量 (滑塊條1.位置 × 5, 滑塊條1.位置 × 5)
' -------------------------------------------------------------------------------------------------------------
' 來自這里 https://jingyan..com/article/0320e2c1db0a181b86507b61.html

熱點內容
電腦玩雲伺服器 發布:2024-11-27 09:19:22 瀏覽:65
蘋果什麼助手能和安卓互通 發布:2024-11-27 09:18:47 瀏覽:57
android花屏 發布:2024-11-27 09:18:38 瀏覽:124
phpnginx負載均衡 發布:2024-11-27 09:18:36 瀏覽:622
刀片伺服器如何設置網路交換機 發布:2024-11-27 09:17:23 瀏覽:475
eve腳本挖礦 發布:2024-11-27 09:12:25 瀏覽:565
模板平方演算法 發布:2024-11-27 08:56:15 瀏覽:268
系統緩存文件 發布:2024-11-27 08:52:15 瀏覽:913
40乙腈水溶液怎麼配置 發布:2024-11-27 08:52:03 瀏覽:63
安卓如何屏蔽彩票信息 發布:2024-11-27 08:49:53 瀏覽:647