창조유저그룹-커즈닷컴
Window close
ID :     PASS :   
   
  처음으로
  창조
  창조 소개
창조 다운로드
CUGz.com 소개
온라인 도움말
  커뮤니티
  가입인사
자유게시판
Q/A게시판
TIP/TECH
열린강좌
자주하는질문
아이디어게시판
  자료실
  소스자료실
프로그램자료실
기타자료실
명예의 전당
이미지 자료실
  지원/기타
  표준용어재정
구글 웹서치  
관리자 전용


창조 팁
- '창조' 에 관한 팁을 올리는 곳입니다. 다수의 이미지가 필요하시면 아래 '이미지 자료실' 에 업로드 후 불러와 주세요..


LIST ALL
Posted by 지상현2010-06-29 14:11:29, Hit : 4965
창조 전용 DLL 만들기 "함수명 한글로 만들기"
Homepage : http://ssidang.x-y.net
Post URL : http://cugz.sjworks.net/bbs/zboard.php?id=tip&no=414
이 팁은 다른 언어로 창조용 DLL을 만들 때 참고할 수 있는 사항을 모았습니다.
창조를 쓰는 분들을 위한 팁은 아닙니다.

주로 쓰는 언어와 툴은 Visual C++와 Delphi 정도로 한정하였습니다.


여기에서 설명하는대로 함수명을 한글로 만들면, 다른 언어에서 가져다 쓰기 힘들어집니다.
(비 영문자를 쓰면 필연적으로 인코딩 문제가 개입하기 때문이죠. 영문자와 숫자 정도는 거기에서 자유로운 편이니까요)
따라서 창조 전용 DLL을 만들때로 한정하시기 바랍니다.


1. 델파이에서 한글 함수명 만들기
먼저, 델파이에서 DLL 함수로 뽑아주는 구문은 다음과 같습니다.



exports <function-name>, ...;

라이브러리 프로젝트에서 exports 밑에 뽑아내고 싶은 함수 이름을 줄줄이 적어주면 됩니다.
이때 다음과 같이 이름을 바꿔줄 수 있습니다.



exports <function-name> name '<new-name>' , ...;

name 절을 이용해서 이름을 바꿔줄 수 있습니다.
델파이는 여기에 그냥 한글로 적어주면 됩니다.

앞 팁에서 만든 Hello 함수를 한글 이름으로 뽑아보겠습니다.



exports Hello name '안녕';

이렇게 하면 Hello 함수가 "안녕" 이라는 이름으로 뽑아집니다.
창조에서도 "안녕"이라는 이름으로 함수를 쓸 수 있습니다.


2. Visual C++에서 한글 함수명 만들기
C/C++는 조금 복잡합니다.
특히 __declspec(dllexport) 같은걸 쓸 때 더 그런데, 이걸 사용하면 name mangling 같은 문제를 피해갈 수 없기 때문에 권장하지 않습니다.

정석적으로 DEF 파일을 만드셔서 링커에 지정하시면 됩니다.
DEF 파일은 이런 식으로 만듭니다.



EXPORTS
    <function-name>
    <function-name>
    ...

뽑아내고 싶은 함수 이름을 쭉 적어주면 됩니다.
이때, 델파이처럼 이름을 바꾸려면 이렇게 해줍니다.



EXPORTS
    <new-name>=<function-name>
    <new-name>=<function-name>
    ...

앞 팁에서 만든 Hello 함수를 한글 이름으로 뽑아보겠습니다.



EXPORTS
    안녕=Hello


참고: Visual C++ 2005의 경우
Visual C++ 2005 (버전 8.0)부터는 함수 이름을 utf-8로 처리하기 때문에,
한글로 만들어도 창조에서 인식할 수 없습니다. (창조는 ansi로 처리하기 때문입니다.)

이 문제를 해결하는 방법은 제가 따로 적은게 있으니 참고하세요.

외부 링크: DLL 함수 이름 한글로 때려 박아야지
(Visual Studio 2005 SP1 이어야 합니다.)

LIST ALL               GO TO THE TOP


N
   Subject
Posted by
Date
H
292
   창조에서 영어로 뜨는 오류 메시지 안 뜨게 하기
지상현 2011/01/14  4447
291
   'ㅎ문자열' 사용하기 [1]
지상현 2011/01/14  4980
290
   [버그] 제거해() 인자는 '문자'가 아니라 'ㅎ객체' 입니다. [1]
지상현 2011/01/14  4396
289
   [버그] 파일속성바꿔()는 실수함수가 아니라 진리함수 [3]
지상현 2011/01/13  3911
288
   [버그] 파일날짜() 반환값은 실수? 문자?
지상현 2011/01/13  3756
287
   [버그] 인자수() = 어째선지 문자함수
지상현 2011/01/13  3819
286
   [버그] SystemParametersInfo() 없습니다.
지상현 2011/01/13  3806
285
   [버그] 대화창보여() 'ㄷㅇ무효' + 여러 버튼 = 동작 안 함
지상현 2011/01/12  4651
284
   창을 화면 중간에 띄우기 [4]
김대명 2011/01/06  3645
283
   [버그] ㅎ파일탐색이 두개면 하나가 먹통이 됩니다.
박종훈 2010/12/11  4155
282
   Windows XP의 Explorer.exe 명령줄 옵션 [2]
박종훈 2010/07/22  4855
281
   구조체 등에서 문자형을 요구할 때
박종훈 2010/07/22  4158
280
   창조 코드에디터의 오타수정 기능! [2]
박종훈 2010/07/21  4137
279
   [api] 응답없음 판단하기 [1]
박종훈 2010/07/21  4479
278
   파일의 인코딩 방식 알기 [1]
박종훈 2010/07/20  4655
277
   문법검사기가 "(" 를 파싱해 오류를 냅니다. [1]
박종훈 2010/07/18  5820
276
   '찌끼' 속성의 분석
박종훈 2010/07/02  4714

   창조 전용 DLL 만들기 "함수명 한글로 만들기"
지상현 2010/06/29  4965
274
   창조 전용 DLL 만들기 "창조의 자료형"
지상현 2010/06/29  4122
273
   [0.9b] 체크박스/라디오버튼 꾸미기 가이드
지상현 2010/06/25  5572
272
     윈도7 체크박스/라디오버튼
지상현 2010/06/25  4105
271
   XP에서 ㅎ그림판에서 그림 읽어올때 오류
지상현 2010/06/05  5475
270
   배열 버그 해결법
성인e 2009/11/07  4781
269
   메모 객체 글꼴 크기 조절 [2]
성인e 2009/09/30  5670
268
   정식판,데모버전 구현하기.. 노가다~~~ [1]
권선중 2009/05/18  5226
LIST ALL   Prev [1][2] 3 [4][5][6][7][8][9][10]..[14] Next
Copyright 1999-2024 Zeroboard / skin by reedyfox in miniwini style
로그인
지우개 Expert 3.0
제작자 : 천호성 님 [LINK]
로그인
대박로또2005
제작자 : 최재일 님 [LINK]
로그인
1박종훈15292 점
2지상현8809 점
3손상진7388 점
4권선중6060 점
5이진백5174 점
로그인
가입일닉네임
05/31김동률
03/31홍형기
09/01o00pp99oo
12/27이재민
11/20이희철
로그인