문제

내가 찾는 것은 윈도우 해당 GNU 도구 objcopy.내가 찾는 것을 구현하는 제안이 여기에 게시 나의 문제,그러나 나는 그것을 할 필요가 cross-platform(Windows,Linux 및 Mac).을 찾을 수 없 응답 내 구글에도 불구하고,그 차이를 아마도 솔루션 구현이 필요하다.감사합니다!

도움이 되었습니까?

해결책

의 기본 MSVC 장식새김: LIB /EXTRACT 추출물의 복사본을 개체; LIB /REMOVE 그런 다음에서 제거합니다.

나는 생각한 LIB /DEF /EXPORT:externalName=internalName 또한 것이 도움이 될 때,당신을 넣어 개체 파일을 다시합니다.

다른 팁

해킹을 신경 쓰지 않으면 충돌하는 이름의 모든 인스턴스를 라이브러리 bin 파일 중 하나에서 동일한 길이의 다른 이름으로 바꾸면 작업 할 수 있습니다.자신의 위험에 이것을하십시오.

예제

// a.h
void doSomething();

// b.h
void doSomething();
.

doSomethingdoSomethink

로 대체 할 수 있습니다.

파이썬에서는 다음과 같을 것입니다 :

f = open('b.lib',"rb")
s = f.read()
f.close()
s = s.replace(b'doSomething',b'doSomethink')
f = open('b.lib',"wb")
f.write(s)
f.close()
.

및 이에 따라 B 헤더를 수정하십시오

// b.h
void doSomethink();
.

여기서는 헤더에 정의 된대로 일반 함수 이름을 사용했지만 원하지 않는 대체를 방지하기 위해 전체 맹그램 이름을 사용하여 전체 맨 글 리드 이름을 사용하려고 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top