C模組化開發

2021-10-19 14:41:16 字數 1873 閱讀 4291

這裡所指的模組化程式設計是利用標頭檔案的形式,將乙個專案**劃分到多個檔案裡面,並使用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 避免變數...