現(xiàn)在有一個(gè)C工程,假設(shè)只有main.c 和 pattern.h文件,在后者中定義了一些標(biāo)準(zhǔn)化的接口想實(shí)現(xiàn)一個(gè)功能:將pattern.h中定義的接口提供給用戶開(kāi)發(fā),最終將會(huì)有很多包含該頭文件的c文件。比如 A同學(xué)寫一個(gè) patternA.c 來(lái)實(shí)現(xiàn)這個(gè)接口,同理 B同學(xué)寫一個(gè) patternB.c 來(lái)實(shí)現(xiàn)這個(gè)接口,這兩個(gè)c文件都有#include "pattern.h"并且會(huì)同時(shí)存在于一個(gè)文件目錄下。最終在main.c 中 或者makefile 中,如何實(shí)現(xiàn)選擇其中之一來(lái)進(jìn)行編譯鏈接?比如修改main.c 中的宏定義 或者 運(yùn)行 make patternA or make patternB最好可以通過(guò)后者實(shí)現(xiàn),這樣可以避免在編譯過(guò)程中需要用戶修改源代碼
請(qǐng)問(wèn)一下如何實(shí)現(xiàn)“選擇性編譯”?
慕婉清6462132
2019-02-21 12:10:45