2008-10-22 53 views
10

我有一個第三方庫,由於各種原因,我不想鏈接。我不想屠殺我的代碼,但刪除所有對其API的引用,所以我想生成它的虛擬實現。如何生成給定頭文件的空定義

有沒有什麼工具可以使用,吐出空白定義的類給定其頭文件?默認情況下,返回空值是可以的,false和0。我不想在飛行或任何聰明的事情上做任何事情 - 我看過的模擬對象庫看起來很重量級?理想的情況是我想要的東西使用像

$ generate-definition my_header.h > dummy_implemtation.cpp 

我使用Linux,GCC4.1

回答

0

創建一個測試應用程序,它讀取頭文件並創建源文件。測試應用程序應解析頭文件以瞭解函數名稱。

1

這是一個比您可能喜歡的更難的問題,因爲解析C++很快就會變成一項艱鉅的任務。你最好的選擇是選擇一個有很好界面的現有解析器。

快速搜索找到this thread這對解析器有很多建議,可以做類似的事情。

在最糟糕的情況下,您可能可以使用SWIG - > Python,然後使用反射來打印虛擬實現。

對不起,這只是一個半答案,但我不認爲有一個現有的工具來做到這一點(除了一個模擬框架,這可能是使用解析器相同的工作量)。

相關問題