我正在嘗試向API添加一些附加功能。但是,我希望這些附加功能位於我的外部庫中,而不是與原始庫的代碼混合使用。以靈活且不顯眼的方式在C中擴展API
問題來了,當我需要從我的函數訪問所提到的API的靜態函數。當然,我不能,所以我看到的唯一解決方案是將這些函數的代碼複製到我的API中,或者使它們在原始API中是非靜態的。由於顯而易見的原因,這兩個選項對我來說都不是太好。
更確切地說:
original_api.c
void some_function() -> uses some_helper_function()
static some_helper_function()
my_api_extension.c
void some_extended_function() -> needs to use some_helper_function from original_api.c, but can't
你可以建議這將是處理這個最靈活的方式?
我想指出,它只與C相關,而不是C++。
它變得非常的混亂。我看到的唯一可行的解決方案是將我的代碼寫入一個頭文件中,我將其包含在原始庫中...... –