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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[560] 순수 API로 프로그램할때 AnsiString 을 쓰고 싶을 때는?
김태선 [jsdkts] 7580 읽음    2006-01-04 21:06
순수 API로 프로그램할때 AnsiString 을 쓰고 싶을 때는
참아야 할까요?

아닙니다. 아래 처럼 하면 간단히 해결됩니다.
#include <system.hpp>
만 해서 String 을 써도 에러가 나지 않고 실행도 잘 됩니다.
하지만 단독 실행화일로 만들때는 링크에러를 냅니다.

에러를 없애려면
#pragma link "rtl.lib"
를 넣어주거나, *.bpr 화일에서 rtl.lib 을 추가해주면 됩니다.
코드에 넣어주는게 더 간편하겠죠.

빌더 6에서 순수 API 로만 단독실행화일을 생성했을때 최소크기는 50K 인데
String 등을 쓰기 위해 RTL을 링크해주면 84K가 되는 군요.

//---------------------------------------------------------------------------

#include <windows.h>
#include <system.hpp>
#pragma hdrstop

#pragma link "rtl.lib"
//---------------------------------------------------------------------------

#pragma argsused
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    String  s = "철수랑 영희랑 행복하게 살았답니다.";
    return 0;
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
560 순수 API로 프로그램할때 AnsiString 을 쓰고 싶을 때는? 김태선 7580 2006/01/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.