亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問一下如何實現“選擇性編譯”?

請問一下如何實現“選擇性編譯”?

C
慕婉清6462132 2019-02-21 12:10:45
現在有一個C工程,假設只有main.c 和 pattern.h文件,在后者中定義了一些標準化的接口想實現一個功能:將pattern.h中定義的接口提供給用戶開發,最終將會有很多包含該頭文件的c文件。比如 A同學寫一個 patternA.c 來實現這個接口,同理 B同學寫一個 patternB.c 來實現這個接口,這兩個c文件都有#include "pattern.h"并且會同時存在于一個文件目錄下。最終在main.c 中 或者makefile 中,如何實現選擇其中之一來進行編譯鏈接?比如修改main.c 中的宏定義 或者 運行 make patternA or make patternB最好可以通過后者實現,這樣可以避免在編譯過程中需要用戶修改源代碼
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

Makefile 示例

all: patternA patternBpatternA: main.c patternA.c pattern.h
    gcc -o $@ $^patternB: main.c patternB.c pattern.h
    gcc -o $@ $^


查看完整回答
反對 回復 2019-02-21
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

  1. make 或 make all 同時編譯 patternA 和 patternB

  2. make patternA 編譯 patternA

  3. make patternB 編譯 patternB


查看完整回答
反對 回復 2019-02-21
  • 2 回答
  • 0 關注
  • 694 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號