프로가 되자.

post search result

Mangled Name와 관련된 글 1개를 찾았습니다.

  1. 2007/06/30 VC DLL에서 DEF를 사용하지 않고 export 하기

VC DLL에서 DEF를 사용하지 않고 export 하기

def파일에서 export 한 뒤, 함수 이름을 써주어야 하는데 이렇게 하기 귀찮다면 코드 안에서 pragma 키워드를 이용할 수 있다.

다음과 같이 에 export 시킬 함수를 적고 에 function의 mangled-name을 적어주면된다.
여기서 mangled-name을 구하는 방법이 있는데 보통은

1. 함수 이름 앞에 _를 붙인다.
2. 함수 이름 뒤에 @를 붙인다.
3. @뒤에 함수 인자의 총 바이트 수를 추가한다.

예를들어

int a(int arg1);


와 같은 구문이 있다면 a함수의 mangled-name은 _a@4 가 된다. 마찬가지로,

int a(int arg1, int arg2);


와 같은 함수는 _a@8이 된다.
이와 같이 <export>과 <function>을 결정한 뒤 다음과 같이 export 하면된다.

#pragma comment(linker, "/export:<export>=<function>")


P.S. 이 작업을 한 뒤 기존에 export하던 함수의 __declspec(dllexport)부분을 삭제해야 여기서 export한 함수 이름만 표시되는것을 볼 수 있다
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/06/30 11:53 2007/06/30 11:53

top

About this post

이 글에는 아직 트랙백이 없고, 아직 댓글이 없고, , , , 태그가 달려있으며,
2007/06/30 11:53에 작성되었습니다.

◀ recent : [1] : previous ▶

blog information

프로가 되자.
BLOG main image
빗소리를 먹는 사람.
RSS 2.0Tattertools
최근 글 최근 댓글 최근 트랙백
태그 구름사이트 링크