- 작성시간 : 2009/10/21 13:50
- 퍼머링크 : micingamja.egloos.com/5147796
- 카테고리 : win32
MS에서 제공해주고 있는 C Runtime Library 는
%WinDir%/System32/msvcrt.dll 에서 제공하고 있다.
그런데, 이 Runtime Library에 대한 설정을 Vistual Stdio에서 설정할 수 있다.
이것을, 정적으로 설정할 수도 있고, 동적으로 (%WinDir%/System32/msvcrt.dll을 load할 수 있도록) 할 수도 있다.
정적이라는 것은, dll이 아니라. 내가 만들 binary의 .text섹션에 코드를 집어 넣는 것이다.
무슨 말인지 알겠습니다.
음...무슨 말인지 알겠습니까????
이게... 컴파일러마다 제공해주는 버젼이 틀리다고 하군요, 그래서 Visual Studio 2008에서 컴파일 했는데
이것을 2k에서 실해했을 때 함수가 없어서 실행이 되지 않는 경우가 있다고 합니다.
구글링 해보면 나옵니다.
[Visual Studio Compile Option]
| /MD | MSVCRT.lib를 사용하여 다중 스레드 DLL을 만듭니다. |
| /MDd | MSVCRTD.lib를 사용하여 디버그 다중 스레드 DLL을 만듭니다. |
| /ML | LIBC.lib를 사용하여 단일 스레드 실행 파일을 만듭니다. |
| /MLd | LIBCD.lib를 사용하여 디버그 단일 스레드 실행 파일을 만듭니다. |
| /MT | LIBCMT.lib를 사용하여 다중 스레드 실행 파일을 만듭니다. |
| /MTd | LIBCMTD.lib를 사용하여 디버그 다중 스레드 실행 파일을 만듭니다. |
[관련 URL들]
http://support.microsoft.com/kb/190536/ko
http://support.microsoft.com/kb/895959/ko <-- 98,95,ME에서 잘못된 MSVCRT.DLL 때문에 프로그램에 문제가 생긴 경우
http://somma.egloos.com/3020481
태그 : MSVCRT, CRUNTIMELIBRARY




덧글