這裡所指的模組化程式設計是利用標頭檔案的形式,將乙個專案**劃分到多個檔案裡面,並使用make進行編譯處理。
我們先來從主檔案中分離函式,為此我們需要兩個檔案,main.c和cmath.c
/*------------------------------------------
main.c
------------------------------------------*/
#include double abs(double x);//絕對值
int cubepow(int a) ;//立方數
int main ()
/*------------------------------------------
cmath.c
------------------------------------------*/
double abs(double x)
int cubepow(int a)
將**存放在兩個地方,需要將兩個檔案鏈結起來並執行
mkdir exe
gcc -o exe/main main.c cmath.c
exe/main
#執行結果
#2.000000
#8
在上面兩個檔案的基礎上,再引入標頭檔案,將函式的原型從主函式分離出來,具體實現方式請看下面
------------------------------------------*/
#include #include "cmath.h"
int main ()
/*------------------------------------------
cmath.h
------------------------------------------*/
#ifndef _cmath_h // #ifndef 後面的值可以自己定義,但要跟下一行保持一致,這一步是為了防止cmath.**件被重複匯入
#define _cmath_h
double abs(double x);//絕對值
int cubepow(int a) ;//立方數
#endif
/*------------------------------------------
cmath.c
------------------------------------------*/
#include "cmath.h"
double abs(double x)
int cubepow(int a)
將三個檔案鏈結起來並執行
gcc -o exe/main main.c cmath.c cmath.h
exe/main
#執行結果
#2.000000
#8
好了,模組化的工作這樣結束了。
不過需要注意的是,這篇文章並未講解extern和static的用法,具體請看相關書籍,使用static來決定函式或者變數是否可以被其他檔案的**訪問。
這裡提供另外一種方式執行編譯指令,這種方式需要一種檔案makefile,具體makefile教程可以** 陳皓-跟我一起寫makefile
run: main.c cmath.c cmath.h
gcc -o exe/main main.c cmath.c cmath.h
exe/main
#將上面的內容寫到makefile檔案內
vim makefile
#執行make
模組化開發
講模組化開發之前,我們先了解一下 傳統開發模式 是什麼?比如說a所在的公司在做乙個專案,公司安排a跟b還有c三個人一起協同開發,a負責一部分功能塊,b負責另一部分功能塊,把專案的功能分成一塊一塊,這適用於多人協作開發,每個人負責不同的功能塊,當然,這其中有人是負責整合的,有人是負責開發公共功能塊的等...
模組化開發
commonjs規範 同步模式載入模組,導致效率低 node.js環境 乙個檔案就是乙個模組 每個模組都有單獨地作用域 通過module.exports匯出成員 通過require函式載入模組 amd asynchronous module definition 規範 使用相對複雜 模組js檔案請求...
模組化開發
寫在前面 面試時常被問到,你知道什麼是模組化開發嗎?模組化開發能帶來什麼好處?下面的內容可以幫助你簡單了解什麼是模組化開發,從對它模糊的印象中看到一些清晰的輪廓,幫助你了解模組化開發的現狀,以對選擇哪種模組化開發有個選擇的方向。目錄 什麼是模組化開發 模組化開發的意義 模組化開發的好處 1 避免變數...