1. 程式人生 > >你的vs編譯軟體是如何使你的程式在電腦上跑起來的呢?

你的vs編譯軟體是如何使你的程式在電腦上跑起來的呢?

一.     一個編譯軟體編譯一個程式的過程分為編譯,彙編,連結四部分,然後得到一個可執行的檔案,即就是我們的目的碼。目的碼當然就是我們有一定邏輯順序的二進位制數啦!

二.   下來簡單的說一下,編譯,彙編,連結的具體過程。
編譯:編譯之前會做一些簡單的準備工作,那準備工作就是預處理啦。

預處理:在預處理階段,程式只執行以“#”號開頭的命令,即預處理命令,那預處理命令有巨集定義,條件編譯,還有佈局控制。

#include<檔名>或#include"檔名”,這是將我們檔案中所包含的內容放在其定義的位置

巨集定義:在預處理時將函式中使用巨集的地方替換成其對應的內容;

條件編譯:如果滿足了我們的條件,就將滿足我們條件的程式放在主函式中,不滿足條件的內容在這時就不會放到我們的程式中;

總而言之,在預處理階段我們的程式還是我們的高階語言,只是在這一階段做的這些事情會減少我們編譯器的負擔,在寫程式時,我們通常會寫註釋,而在此階段,我們的註釋也會被去掉。

接下來就編譯了,就是將原始檔中的程式通過編譯程式翻譯為彙編程式碼,注意這裡的原始檔可能會有多個,這時生成的檔案為.obj檔案。

彙編:通過彙編程式將源程式中的彙編程式碼翻譯為機器所能識別的二進位制程式碼,這時生成的檔案為.o檔案。

連結:將各原始檔中經彙編所得的二進位制程式碼連結起來使得它們在main函式所在的原始檔中,這時的這些檔案就變成一個有邏輯順序的可執行的二進位制程式啦,執行就可以得到我們想要的結果,但為什麼要連結呢?因為C語言是一個模組化的程式設計語言,即我們會把我們的功能分為幾個不同的模組來實現,每個模組放在不同的原始檔中,最後的連結是將這些原始檔組合成有邏輯順序的瞬間,使的這個可執行程式中的二進位制程式碼變成一個有邏輯,可以代表我們思想的一段數字序列。若不連結,則它們就只是一堆亂碼被放在檔案中,毫無意義

相關推薦

vs編譯軟體是如何使程式電腦起來?

一. 一個編譯軟體編譯一個程式的過程分為編譯,彙編,連結四部分,然後得到一個可執行的檔案,即就是我們的目的碼。目的碼當然就是我們有一定邏輯順序的二進位制數啦! 二. 下來簡單的說一下,編譯

使用pyinstaller 打包程式,讓它在朋友的電腦氣來~

一、pyinstaller模組安裝最簡單的方法 : pip install pyinstaller 方法二:官網下載 http://www.pyinstaller.org/downloads.h

不安裝軟體,怎麼在電腦繪製流程圖?

  不安裝軟體,就能在電腦上繪製流程圖是真的嗎?相信有很多夥伴們在繪製流程圖的時候都是下載軟體進行繪製的,那麼,怎樣怎樣才能在較短的時間內繪製出自己需要的流程圖呢?這些大概都是職場新人們需要了解的問題,下面小編結合大家講講不安裝軟體,在電腦上繪製流程圖的方法。   一.使用工具   有些流程

讀書筆記-程式是如何起來的(第二章)

1.由於cpu中的引腳只有兩種狀態,0v或者5v,所以就只有0或1兩種符號來表示計算機的狀態 2.一個位元組=8位二進位制數(位元組是資訊計量的基本單位,位是最小單位) 3.二進位制轉十進位制的換算:各個數位的數值乘以位權再相加

讀書筆記-程式是如何起來的(第一章)

1.機器語言:計算機cpu可以直接識別並且執行的語言 2.程式是一組指令和資料的集合 3.記憶體是儲存命令和資料的場所,通過地址來標記 4.cpu負責的就是解釋和執行最終轉換為機器語言的程式內容 5.cpu內部由暫存器,控制器,運算器

如何將手機的圖紙傳輸到電腦進行檢視

如何將手機上的圖紙傳輸到電腦上進行檢視呢?之前小編已經給大家講解過了如何將圖紙從電腦上傳輸到手機上進行檢視的全部操作步驟了,那麼從手機上傳輸到電腦上進行檢視應該如何進行操作呢?今天小編就來向大家進行講解步驟操作,希望大家進行採納哦! 第一步:首先開啟您手機上面的CAD看圖軟體,小編用的就是“迅捷CAD看圖軟

Win - 程式是怎樣起來的——程式載入時會生成棧和堆

EXE檔案的內容分為再配置資訊、變數組和函式組,這一點想必大家都清楚了吧。不過,當程式載入到記憶體後,除此之外還會額外生成兩個組,那就是棧和堆。棧是用來儲存函式內部臨時使用的變數(區域性變數【注1】),以及函式呼叫時所用的引數的記憶體區域。堆是用來儲存程式執行時的任意資料及物件的記憶體領域(圖

在同一臺電腦多個tomcat

1.將下載的tomcat解壓包複製貼上,有兩個一樣的解壓包 2.修改其中的一個tomcat的引數 編輯bin/startup.bat, 在檔案第一行新增 SET CATALINA_HOME=C:\test\tomcat7(tomcat解壓的路徑) 3.修改conf

rw_程式是怎樣起來的 1-6章

2016.10.15 - 10.25 《程式是怎樣跑起來的》1-6章 - 矢澤久雄 / 著 - 李俊峰 / 譯 個人學習筆記。 10.15 1 對程式設計師來說CPU是什麼 0 問題 & 重點 1. 程式是什麼? [1] 儲

程式是如何起來的?

       對於絕大多數編寫程式的人來說,使用的程式語言稱為高階程式設計語言,如C、C++、Java等。但由於計算機並不認識高階語言編寫的程式,編好的程式需要進行編譯變成計算機能夠識別的機器語言程式,而需要編譯器和彙編器的幫助。其次,機器語言程式需要載入到記憶

程式是怎麼起來的? —— CPU 是什麼?C/C++程式的執行

1. 概念初步 程式:計算機的程式,和做飯、運動會的程式一樣,指的是“做事的先後次序”; 程式的組成:程式是指令(及物動詞)和資料(賓語)的組合體; C 語言 printf("hello\n");,這個簡單的程式,printf是指定,hello是資料; 機

程式是怎麼執行的-總結於《程式是怎麼起來的》

首先我們需要知道這些基礎的計算機軟硬體知識。 1.程式執行必要的硬體 1.必須有一個儲存器,記憶程式和資料的儲存器。 2.必須有一個控制器,控制程式執行的控制器。 3.必須有一個運算器,完成資料加工處理的運算器。 4.必須有輸入裝置和輸出裝置,用於進行

程式是怎樣起來的》系列 讀書筆記

《程式是怎樣跑起來的》系列有 3 本,《程式是怎樣跑起來的》、《計算機是怎樣跑起來的》、《網路是怎樣連線的》。 其中前兩部是日本作家矢澤久雄編著,網路那本是日本作家戶根勤編著。最出名的當屬《程式是怎樣

程式是怎樣起來的》(摘要)

最近讀了日本作者矢澤久雄寫的《程式是怎麼跑起來的》,也在網上找了人家的書評,書評為計算機組成原理學習的不是很好的同學是一個不錯的學習機會,自己也感覺受益匪淺,希望對大家的學習有所幫助。Q:電腦的CPU中包含哪些部分?各自的作用有哪些?A:CPU包含暫存器,控制器,時鐘和運算

程式是怎樣起來的-第10章 通過組合語言瞭解程式的實際構成

第10章通過組合語言瞭解程式的實際構成 熱身問題 1.原生代碼指令中,表示其功能的英文縮寫稱為什麼? 助記符、組合語言是通過利用助記符來記述程式的。 2.組合語言的原始碼轉換成原生代碼的方式稱為什麼? 彙編、使用匯編器這個工具來進行彙編。 3.原生代碼轉換

Go 程式是怎樣起來

目錄 引入 編譯連結概述 編譯過程 詞法分析 語法分析 語義分析 中間程式碼生成 目的碼生成與優化 連結過程

為什麼大學還在教過時的軟體技術,程式設計師:只能說根本不懂軟體

這幾天小編一個剛畢業的學弟來向我取經,也抱怨了一些自己入職後工作上的事情。其中“為什麼大學教的都是一些過時的軟體技術,比如JSP,工作之前還要從頭學習新的技術”這個問題讓我特別有感觸。按理說作為電腦科學來說,優勢就在於實時,快,效率高,如果使用過時的東西,就會導致工作能力低下,必然是沒有公司要的。那

電腦效能一目瞭然,教用測試軟體測試整機效能

一臺膝上型電腦或者是一臺DIY臺式電腦,都是由處理器、顯示卡、硬碟等配件構成,而每個配件都有自己的效能,效能是高是低我們可以進行單項測試。對於整機效能我們也可以對其進行測試,來看看它的真實效能到底如何。     CPU中文名叫中央處理器,它是一臺電腦中最核心的部

愛生活、愛dota、愛魔獸、愛程式設計、我不大夢想卻很大.請不要叫我修電腦-告訴我不會,我是--程式設計師

//select下拉選單動態載入 方式一: $.ajax({ type:"get", dataType:"json", contentType:"application/json;charset=utf-8", url:"url", success:functi

【愛生活、愛dota、愛魔獸、愛程式設計、我不大夢想卻很大.請不要叫我修電腦-告訴我不會,我是--程式設計師】只看到了我光鮮亮麗的表面,卻不知我背後工作生活的艱辛,嘲笑我們木訥呆板,不懂去愛,我可憐的膚淺無知,程式設計的路上少不了需求的變更,但那又怎樣,哪怕一

你只看到了我光鮮亮麗的表面,卻不知我背後工作生活的艱辛,你嘲笑我們木訥呆板,不懂去愛,我可憐你的膚淺無知,程式設計的路上少不了需求的變更,但那又怎樣,哪怕一改再改,也要編的漂亮 我是程式設計師,我為自己代言...