簡體   English   中英

Makefiles-繼承的類和內部類

[英]Makefiles - Inherited classes and inner classes

我正在學習c ++,正在使用+ -5類使用繼承和內部類來開發項目。 我為每個類制作了一個單獨的cpp和hpp文件(也為內部類制作了)現在,我想使一個makefile易於編譯。 我讀了很多關於makefile的教程,但是沒有關於主題繼承和內部類的好的教程。

我將舉一個例子:

class A
class B //is a inner class ob A
class C //inherits from B
class D //inherits from C
class test // containing a main with tests for all the classes

我將如何在makefile中制作此文件? (每個班級都有一個hpp和一個cpp !!!)

您不需要為我編寫一個makefile,如果您有一個非常好的教程的鏈接,我也很高興:)


另一個問題:我讀到,在單獨的hpp + cpp中定義內部類不是很好。 真的嗎 ? 有哪些風險?

謝謝您的回答:)

對於makefile,您無需擔心語言,而無需擔心文件之間的依賴關系。 后者可以由任何體面的編譯器針對任何體面的語言(抱歉,fortran人士...)生產。 使用gcc ,必要的參數是-M -MF dependencyFileName.d 這會產生含Makefile中的語法規則,可以納入Makefile文件通知文件make所有的依賴。

編譯器生成的規則通常不足,例如,它不包含依賴文件作為目標。 您可以在這里找到有關處理此問題的不同方法的詳盡說明: http : //make.mad-scientist.net/papers/advanced-auto-dependency-generation/

通常,我建議不要以某種方式將依賴項硬編碼到Makefile中:代碼更改,依賴項也會更改。 並且不完整的重建不一定會產生編譯器/鏈接器錯誤,有時您只會得到程序的真正怪異行為。 填充以下內容:

  • 以某種方式調用了錯誤的函數

  • 在函數調用期間,參數以某種方式被扭曲

  • 我知道這個函數必須返回零,為什么我從這個調用中得到一個??

花了一周的時間尋找這些幻像之前,最好花點時間來自動生成依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM