API에 몇 가지 추가 기능을 추가하려고합니다. 그러나 이러한 추가 기능을 외부 라이브러리에 포함하고 원본 라이브러리의 코드와 섞어 놓지 마십시오.C에서 API를 유연하고 눈에 거슬리지 않게 확장하기
내 함수에서 언급 한 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++가 아닙니다.
은 정말 더러워지고있어. 내가 볼 수있는 유일한 실행 가능한 솔루션은 원본 라이브러리에 포함시킬 헤더에 코드를 작성하는 것입니다. –