본문 바로가기

쓰기

무모한 용기가 화를 부른다고....
'나도 필터란걸 만들어보자' 하고 쓸데없는 결심을 하는 바람에(결심만)......
요새 1년을 기다려온 투3도 손도못대고 ....... Visual Studio 2005란거 깔고 낑낑대고 있네요..
(왜인지는 모르겠지만 현제 다운받은 아랄소스들이 컴파일이 안되네요...)
염치없지만 이번에도 많은 선배님들의 도움 부탁드립니다.

1.컴파일옵션에서 MBCS를 제거하는거랑
그냥 MBCS를 붙인후에 프로그램 서두에 #UNICODE를 디파인해두는거랑
결과에서 차이가 있나요??

2.컴파일옵션에서 MBCS를 제거하면 소스창에 일반문자열 "aaaa"는 자동적으로 유니코드 문자열이 되는건가요?
아님 이전과 똑같이 "aaaa"는 일반문자열이고  L"aaaaa"를 붙여야 유니코드 문자열로 인식하는건가요?

3.Visual Studio 2005에서는 Visual Assist를 사용할수 없나요?

확실히 기초가 너무없다보니 너무 기본적인걸 질문하는거 같아 염치가 없네요..긁적
분류 :
Talk
조회 수 :
13663
등록일 :
2008.12.14
02:11:32
엮인글 :
https://arallab.hided.net/4011/ad1/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/4011

Hide_D

2008.12.14
02:22:34
그냥 MBCS와 유니코드의 구분은

프로젝트의 속성에 들어가서
언어 설정에서 유니코드와 멀티바이트중에 하나를 선택하는걸로 됩니다.

문자열은 일반 프로그래밍이라면 구분없이
_T("") 으로 사용하지만

필터는 문자열 처리 필터니까 그러면 안되겠죠 ^^;

그래서 선언할때
char 또는 string으로 선언하면 ""로 쓰고,
WCHAR (또는 wchar_t), wstring으로 선언하면 L""으로 쓰죠.

Hide_D

2008.12.14
02:24:51
플러그인 중에서

관리자님이 제작하신건 Visual Studio 2008로 제작된거라
vcproj와 sln파일을 메모장으로 열어서 버전을 하나씩 낮춰줘야되구요

whoami님이 만드신건 대부분 Visual Studio 6.0으로 만드신 거고

제가 만든건 Visual Studio 2005라서
버전 차이가 있을지도 모르겠네요.

호기심맨

2008.12.14
02:30:20
아 그럼 그냥 컴파일옵션에서 MBCS를 제거한후에
#define DEF_StrA "aaaaa"로 해노면
저 "aaaaa"는 일반문자열 그러니까 cahr형인건가요?

지금까지는 MBCS를 붙인상태에서 프로그램 서두에 #define UNICODE를 선언해서 햇거든요
근데.... MBCS를 제거하면 저 선언해둔 #define UNICODE를 지워야 하는건지...
아니면 지우나 안지우나 아무의미없는건지.....

호기심맨

2008.12.14
02:34:04
아 whoami님 소스를 보면 알수있겠네요.... Visual 6.0에서는 어떻게 했는지...
근데 2005 잠간 써보니까 너무 좋던데요....
Visual Assist를 적용할수만 있다면... 여한이 없는데....
갈등되네요 컴파일러를 갈아타야 할지 말아야 할지

whoami

2008.12.14
10:34:52
일단 DEFINE 은 #define 으로 소스내에 선언하는 것과 컴파일러 옵션 (C/C++옵션) 에서 /D 를 사용해서 선언하는 방법이 있습니다. 보통 이런 전체 프로젝트 내에서 사용하는 DEFINE 은 컴파일러 옵션에서 설정하는 것이 좋습니다.

1. MBCS 를 UNICODE 로 변경해 주면 바로 유니코드로 컴파일이 됩니다.. 단 가능하면 컴파일러 옵션에서 설정해주세요. 왜냐하면 소스내에 넣어두면 해당 소스부분을 컴파일러가 읽기 전에는 기본 문자 처리 방식을 따라가기 때문입니다. 아마 VC6.0 까지는 MBCS, 그 이상이라면 UNICODE 가 기본일겁니다.

* 참고
문자 처리 방식 선언은 두 가지가 있습니다.. 이게 VC6.0 까지만 그런지 혹은 요즘 컴파일러도 그런지 모르겠습니다만..  MBCS 하고 _MBCS, 그리고 UNICODE 하고 _UNICODE.. ^^ 차이점은 MBCS/UNICODE 는 윈도우, _MBCS/_UNICODE 는 C/C++의 기본 라이브러리 (예: stdio.h 같은 것) 에서 사용할겁니다. 따라서 선언시 2가지 모두 선언해 두는 것이 맘 편하겠죠? ㅎㅎ

2. MBCS 이든 UNICODE 이든 "aaaa" 는 MBCS 문자, L"aaaa"는 UNICODE 문자입니다. 그리고 _T("aaaa") 는 설정에 따라 MBCS/UNICODE 에 맞춰서 L 을 붙여주거나 안 붙여주거나 합니다. 따라서 MBCS 혹은 UNICODE 를 확실히 구분해 줘야 할 필요가 있는, 특히 플러그인 문자 처리를 할 경우는 "aaaa" 혹은 L"aaaa" 를 쓰시고, 그럴 필요가 없는.. 예를 들면 메세지 박스 같은 것을 쓸 떄는 _T("aaaa") 를 사용하시면 되겠습니다.

3. VC2005 에서 VA 를 사용 가능합니다. 단, VA 설치 전에 VC2005 가 설치되어 있어야 합니다.. 만약 VC6.0 에 VA 가 이미 설치되어 있으면 일단 VA 를 언인스톨 - VC2005 설치 - VA 설치 하면 6.0 과 2005 에서 둘 다 사용 가능합니다.

whoami

2008.12.14
10:42:03
* 추가 - 프로젝트 버전 낮추는 법
1. .sln 파일을 텍스트 에디터로 열고
Microsoft Visual Studio Solution File, Format Version 10.00 -> 9.00 으로 변경
# Visual Studio 2008 -> 2005 로 변경
2. .vcproj  파일을 텍스트 에디터로 열고
Version="9.00" -> "8.00" 으로 변경

하시면 됩니다.. ^^

호기심맨

2008.12.14
22:16:35
아!! 컴파일옵션에서..... MBCS나 UNICODE를 적용하면 그게 자동적으로 전 소스에 #define되는거였군요..
진짜 큰거 배웠네요... (아니 제가 너무 당연한걸 몰랐던건가요..긁적)
덕분에 소스 안고치고도 Project Settings에다만 종류별로 등록해두면 한번 컴파일에
MBCS용 실행파일도 나오고 ,UNICODE용 실핼파일도 나오고..너무 편해졌네요
정말이지 whoami님 Hide님 두분에게  너무 감사드립니다. (꾸벅)
List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
204 Talk 1빠!!! [1] 아랄 19435   2008-07-08 2011-06-28 01:25
옹예~  
203 Talk 2등 ~ [3] 앙마vv 15977   2008-07-08 2008-09-17 00:31
2등 입니다 ㅋㅋㅋㅋ ........... 뭐... 뭐 어쩌라는거지 .......... 그나저나 이곳 뭐하는곳 ??????? ㄷㄷㄷ;;  
202 Talk 브라반 대체 뭐가 문제인걸까요 orz Hide_D 15989   2008-07-08 2008-07-08 13:54
추출된 스크립트도 문제가 없고 소스를 분석해봐도 문제는 없는데 =ㅅ=;;;  
201 Talk [버그 보고?]브라반 드디어 원인을 찾았습니다. orz [6] Hide_D 15593   2008-07-08 2008-07-09 16:23
엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉엉 0x3010 0x3011이용해서 대사 처리하는 녀석들을 찾아보았더니 http://aralgood.com/zbxe/26860 루이는 토모를 부른다. 가 있더군요. 요건 그 일부분! ------------------------------------------------------...  
200 Talk [질문] HKCU/Software/AralGood/M2WAddr ? [3] whoami 14960   2008-07-08 2008-07-08 19:14
// CATCodeMgr::Init(ATCodeMgr.cpp) 중에서... // 어플로케일 관련 함수 m_sTextFunc.pfnOrigMultiByteToWideChar = (PROC_MultiByteToWideChar) CRegistryMgr::RegReadDWORD(_T("HKEY_CURRENT_USER\Software\AralGood"), _T("M2WAddr")); m_sTextFunc.pfnOri...  
199 Talk AGTH의 /L과 AT의 /L [1] Hide_D 17165   2008-07-08 2008-08-12 00:50
AT에서는 어플로케일 메시지가 뜨는데, AGTH에서는 그게 안뜬단 말이죠? 자체 구현인가...하면, 어플로케일이 없으면 /L옵션이 안먹는걸로 봐선 똑같이 어플로케일을 사용하는 것일텐데.. 이놈들은 어떻게 어플로케일 메시지가 안뜨게 하는걸까요?  
198 Talk 기리기리 번역... [8] 나는누구인감? 18994   2008-07-09 2008-07-10 13:34
루이토모를 하다보니 대사창이 아닌곳에 텍스트를 뿌리는 장면이 있더군요. 초반에 채팅창이 나오는데 그 채팅창이 이미지로 되어있는줄 알았는데 텍스트였습니다... 스크립트 열어보니 해당부분 번역되어 있더군요. 루이토모 외에 Temptation-Naked 2도 이런...  
197 Talk 일단 기리기리 미 번역 파트(선택지) 보고? file Hide_D 14675   2008-07-10 2008-07-10 00:34
 
196 Talk RealLive 게임 목록 Hide_D 16886   2008-07-10 2009-01-06 01:27
자게에도 써놨지만, 원래 있어야 할 위치는 여기인것 같아서.. http://www.product.co.jp/?enter=1&page=1 商品?分를 PC게임 키네틱노벨 로 맞추면 됩니다.  
195 Talk 어제 말씀드렸던것... 알아냈습니다. file 나는누구인감? 14332   2008-07-10 2008-07-10 14:17
 
194 Talk 줄 바꿈을 n으로 하는 게임에서 벽뚫기 방지 해결책 [1] Hide_D 15082   2008-07-12 2008-07-12 18:09
http://aralgood.com/zbxe/33245 여기 스샷보고 생각난건데, 자릿수를 지정해 주고, n을 새로 먹여주면 벽뚫기가 줄어들지 않을까요.  
193 Talk 아 이런 클라나드 [1] file my Vagina 11070   2008-07-13 2009-01-06 01:00
 
192 Talk 귀차니즘 발동 Hide_D 10755   2008-07-18 2009-01-06 01:00
현재 프로그래밍을 공부하면서 플러그인을 만드는 관계로 진척속도가 좀 많이 느립니다 =ㅅ=;; 그냥 플러그인 0.1 내놓고, 나중에 마저 개발해야겠네요. 데굴데굴  
191 Talk whoami님 [3] Hide_D 9072   2008-07-18 2008-07-18 21:25
아래에 만든 플러그인이 에러가 납니다. 맨 처음에 만들었던 개발모드가 풀유니코드로 작성되어있고, 이녀석이 그냥 돌릴땐 잘 돌아가길래 그냥 Ctrl+C, Ctrl+V 해주고, 위 아래에 Ansi -> Unicode Unicode -> Ansi만 붙여넣은 거라 아무래도 변환부에 문제가 ...  
190 Talk 아무나 rc 파일 좀 만들어 주실분 안계세요? [2] Hide_D 12831   2008-07-19 2008-07-19 22:41
대충 이렇게 생겨먹었습니다. ┌──────────────────────┐│                      ││ □사용자사전사용             ││  경로 - ○ 게임폴더ATDataCustomDic.txt ││      ○ 사용자정의 |       |...|││    ...  
189 Talk http svn을 운용하는건 어떨까요? [3] 아랄 8950   2008-07-20 2009-01-06 01:35
몇몇 개발자 분들께서 열악한 버전관리 환경 속에서도 플러그인을 개발하시는데 조금이나마 도움이 되고싶네요 소스는 svn상으로 함께 공유하며 자발적으로 개선해 나갔으면 하는데요 현재 기존의 플러그인에서 분기되거나 또는 아랄트랜스 기본 기능에 넣고 ...  
188 Talk 역시 번역 플러그인 테스트용으론 Hide_D 11417   2008-07-21 2008-07-21 12:50
체험판이 최고군요 +_+ 사쿠라슈트랏세웹 체험판 설치해놓고 전에 관리자님이 올리신 코드로 잘 돌아가니 이걸로 테스트 해야겠군요  
187 Talk 어? ezTransXP 플러그인을 분석하다 생각난건데 [1] Hide_D 8162   2008-07-22 2008-11-22 16:38
이 플러그인에서는 전각 기호는 다른 코드로 치환해 뒀다가 다시 전각 기호로 되돌려주는데, 반각기호는 처리법이 약~간 특이합니다. 1. 원문에 ()<>{}가 없고, 번역문에 ()<>{}가 있으면, ()<>{}와 그 안의 내용을 날립니다. 2. 원문에 ()<>{}가 있고, 번역문...  
186 Talk Vmware 가상 일윈으로 즐기기.. [3] file ㅌㅌ 14029   2008-07-23 2008-07-24 21:11
 
185 Talk Re: SOW 모드의 신기한 점? file whoami 11209   2008-07-23 2009-01-06 01:27