FreePascal Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
FreePacal 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

FreePascal Q&A
[27] Re:Re:[질문] C 함수포인터 정의를 파스칼로 변환하려면?
MarunGuy [marunguy] 2532 읽음    2012-08-07 16:11
답변 감사합니다.

32비트,64비트에 따라 크기를 달리할려고 UINT_PTR 을 사용한 것 맞습니다.
UINT_PTR 만 사용하면 컴파일은 잘 됩니다.
하고 싶은 것은 UINT_PTR에 대한 포인터 변수를 선언하는 것입니다.

PINT64 이면 64비트 정수형 포인터를 선언하는 것 아닌가요?

kylix 님이 쓰신 글 :
: UINT_PTR 64bit에선 int64 32bit에선 integer입니다.
:
:
type Tmy_func= function(cmd:PCHAR; args:PINT64; arg_cnt:longint): longint; stdcall;

:
: VC에서 디폴트는 cdecl 일겁니다.
:
: MarunGuy 님이 쓰신 글 :
: : 다음과 같이 C 함수포인터 정의 를 파스칼 문법으로 변환하고 싶습니다.
: :
typedef int (*my_func)(const char *cmd, UINT_PTR *args, const int arg_cnt);

: : 일단 다음과 같이 해보았는데 ^UINT_PTR 여기서 컴파일에러가 납니다.
: :
type Tmy_func= function(cmd:PCHAR; args:^UINT_PTR; arg_cnt:longint): longint; stdcall;

: :
: : 원 C소스는 vs2008 로 컴파일하고 있는데 위의 typedef 로대로 선언할 경우
: : calling convention 을 stdcall 로 하는 것이 맞나요?

+ -

관련 글 리스트
25 [질문] C 함수포인터 정의를 파스칼로 변환하려면? MarunGuy 2506 2012/08/07
26     Re:[질문] C 함수포인터 정의를 파스칼로 변환하려면? kylix 2521 2012/08/07
27         Re:Re:[질문] C 함수포인터 정의를 파스칼로 변환하려면? MarunGuy 2532 2012/08/07
28             Re:Re:Re:[질문] C 함수포인터 정의를 파스칼로 변환하려면? MarunGuy 2629 2012/08/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.