簡體   English   中英

從現有的開源 C 庫中提取 function 源代碼

[英]Extract function source code from existing open source C library

我需要從現有的 C 庫(該庫是開源的)中提取 function 的源代碼。 問題是函數是使用 header 文件中的宏創建的,當我編寫測試項目並將庫鏈接到它時,調試器將我指向 header 文件的“轉到定義”操作。 我有庫的源代碼,我想我需要將它與我的測試代碼一起構建(也許這不正確,我不確定)。 關於如何進行,使用什么的任何建議? 謝謝你。

我需要從現有的 C 庫(該庫是開源的)中提取 function 的源代碼。

幾個 C 編譯器本身是開源的。 GCCClang都是( tinycc也是如此)。 所以你可以合法地改進它們(但這可能需要幾個月的工作)。

此外,最近的 GCC 版本(例如 2020 年 7 月, GCC 10 )接受插件 您的 GCC 插件可以在某些內部 GCC 表示(例如GIMPLEGENERIC )上工作,因此將了解函數(甚至通過預處理器擴展獲得)。

您還可以考慮使用一些開源 static 程序分析器,例如Frama-CClang static 分析器

PS。 考慮開源許可問題(合法問題)。 我不是律師(如果你混合使用不同開源許可證的各種軟件,你可能需要問一個)。

暫無
暫無

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

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