1.main.c是程式的主模組,module.c是程式的乙個模組,main中使用extern int m來宣告變數,定義在module中,說明module中定義的全域性變數的作用域是整個程式。
2.假如要使用printf函式的話就新增標頭檔案stdio.h,標頭檔案裡面都是函式的宣告,定義在系統庫中。
3.函式的宣告有無extern都行,變數的宣告必須加上extern,否則編譯器無法識別宣告。
4.源**和頭**.c/.h-(預處理)-無巨集檔案.i-(編譯)-彙編**.asm-(彙編)-機器指令.obj-(鏈結)-可執行檔案.exe,預處理是處理#等,編譯是得到彙編**,彙編是把彙編**轉成機器指令,鏈結是把機器指令和一些庫檔案生成可執行檔案。
5.目標檔案是被編譯過的多個二進位制檔案,每個目標檔案都包含多個塊,如檔案頭、程式頭表、**段和注釋資訊等,可執行檔案就是將多個目標檔案的各個塊按類疊加存放。
6.剛開始的程式設計師用機器語言位址來程式設計,假如要修改乙個東西的話,位址的值就要重新修改,後來發明鏈結器器代替人工計算資料位址,發明彙編器用助記符代替位址(組合語言),後來發明編譯器來將c語言轉成彙編**。
7.鏈結就是確定函式和全域性變數的位址,並對每乙個重定位入口進行修正。
8.宣告全部放在module.h中,定義全部放在module.c中,要使用的話就可以#include 「module.h」,定義會自己找到。
9.#include ,#include "myfile.h",雙引號先在工程目錄裡尋找,再去系統目錄裡尋找。
10.用乙個巨集來解決標頭檔案多次包含的問題。
11.static第乙個作用是隱藏,全域性變數和函式的作用範圍限制在當前模組,第二個是賦值語句執行一次之後就不會再執行了。
C模組化開發
這裡所指的模組化程式設計是利用標頭檔案的形式,將乙個專案 劃分到多個檔案裡面,並使用make進行編譯處理。我們先來從主檔案中分離函式,為此我們需要兩個檔案,main.c和cmath.c main.c include double abs double x 絕對值 int cubepow int a ...
模組化開發
講模組化開發之前,我們先了解一下 傳統開發模式 是什麼?比如說a所在的公司在做乙個專案,公司安排a跟b還有c三個人一起協同開發,a負責一部分功能塊,b負責另一部分功能塊,把專案的功能分成一塊一塊,這適用於多人協作開發,每個人負責不同的功能塊,當然,這其中有人是負責整合的,有人是負責開發公共功能塊的等...
模組化開發
commonjs規範 同步模式載入模組,導致效率低 node.js環境 乙個檔案就是乙個模組 每個模組都有單獨地作用域 通過module.exports匯出成員 通過require函式載入模組 amd asynchronous module definition 規範 使用相對複雜 模組js檔案請求...