2012-03-26 11 views
1

mingw64를 사용하여 DLL을 컴파일하고 있습니다.함수에 전달 된 매개 변수의 바이트 수를 찾는 방법은 무엇입니까?

내가 읽고 그 :

는 MinGW에서 __sdtdcall-declared 기능의 이름 장식 [email protected], @nn 함수에 전달 된 매개 변수의 바이트 수입니다. 이 메커니즘을 사용하면 '잘못된'유형의 함수를 호출하거나 잘못된 수의 매개 변수를 사용하여 함수를 호출 할 수 없습니다.

제 질문은 제목과 같습니다 : 함수에 전달 된 매개 변수의 바이트 수를 찾는 방법은 무엇입니까?

+0

당신이 "찾아"무엇을 의미합니까? –

답변

1

sizeof (type) 함수는 특정 데이터 형식의 바이트 수를 제공합니다.

예 :

See http://en.wikipedia.org/wiki/Sizeof 

당신의 문자열에 대한 질문 (의 char *) 경우 :

See http://en.wikipedia.org/wiki/Strlen#strlen 
+0

strlen은 인수를 전달하는 데 사용 된 스택 공간에 대해 알려주지 않습니다. –

+0

@ NiklasB. 맞음 - 문자열에 사용되는 스택 공간이 sizeof (char *)가 될 것이지만 저자가 사용 된 스택 공간을 찾지 못했다고 생각합니다. – Java42

+0

그는 stdcall의'@nn' 이름 데코레이션처럼'nn'은 실제 매개 변수가 사용하는 누적 스택 공간을 나타냅니다. –

관련 문제