2016-05-13 33 views
2

之前發佈了一些類似的問題,但我無法看到我的具體要求的答案。重新編寫二進制文件或派生類,用於在基類中添加新方法

我有一個編譯到共享庫(.so)的基類。這個庫已經被使用,並且有一些從我的基礎派生的類,並且使用了我的基類的虛函數。

現在我需要修改我的基類以添加一個將在內部使用的新方法(非虛擬)。然後我將重新編譯共享庫。

派生類是否需要重新編譯? 使用派生類和共享庫創建的二進制文件是否需要重新編譯?

回答

1

就你而言,你將不需要重新編譯派生類。僅當從頭文件(在派生類中使用)中獲取的類的二進制結構的知識發生更改時,才需要重新編譯。發生這種情況是

  • 數據成員被添加
  • 甲改性,V表
  • 甲改性,現有的功能簽名製作(以虛函數變化)製成
  • 更改內聯函數

既然在這裏沒有發生,你應該沒問題。 引用from here

+0

如果添加新方法,則不需要重新編譯。感謝Smeeheey。 –

相關問題