MFC

MFC 모든 헤더와 라이브러리 설명 [2] - 런타임라이브러리 한글 번역

디버그정 2008. 9. 6. 13:52
다음글은 하이텔 MFC소모임의 시삽이신 권정혁님의 글을 정혁님의 허락하에
다음과 같이 기재합니다. 허락해주신 정혁님께 감사드립니다.
****************************************************************************

이 글은 Mike Blaszczak 의 책 "Professional MFC" 의 Appendix D 에 들어있는
내용을 번역한 글입니다. 제 허락없이는 다른 어떤게시판에도 옮기실수 없습니
다. 물론 글의 원 소유자는 Mike 입니다.

MFC&T 사용자 모임 시삽 권정혁

============================================================================
MFC 헤더와 라이브러리 설명 (The Foundation Classes Headers and Libraries) #2

2. 런타임 라이브러리 (Run-time Libraries)

이 테이블은 Visual C++ 과 함께 제공되는 라이브러리와 Pre-Compiled Object 들의
기능에 대한 짧은 설명을 보여줍니다.

------------------------------------------------------------------------------
런타임 라이브러리 (Run-time Libraries)
------------------------------------------------------------------------------

파일설명

Advapi32.lib 레지스트리나 보안 관련 API 같은 진보된 API 서비스 들에 대한
임포트 라이브러리 입니다. 이 임포트 라이브러리와 링크하는 것은
당신의 프로그램에서 Advapi32.dll에 포함된 함수들을 사용가능하게
합니다.

Atl.lib MS의 Active Template Library에 대한 라이브러리입니다.

Binmode.obj 이 모듈과 링크하면 C 런타임 라이브러리에 의해 오픈되는 화일들이
기본적으로 Binary 모드로 열리도록 만듭니다.

Cap.lib Call Attributed Profiler 에 대한 인터페이스 입니다.
이 툴은 함수 호출 패턴(Function Call Patterns)을 분석함으로써
Win32 어플리케이션을 튜닝하게 해줍니다.

Chkstk.obj 런타임용 Stak-Depth 체킹 모듈입니다.
이 모듈은 모든 함수 호출전에 스택의 크기(Depth)를 체크함으로써
Stack Overflow 가 났는지 체크하는 것을 도와줍니다.
Windows NT 에서는 프로그램의 스택 세그먼트를 조심스레 체크하며,
스택 오버플로우가 난다면 프로그램을 깨끗히 종료시켜주므로
이 파일은 거의 필요가 없습니다.

Comctl32.lib 윈도우 공용 컨트롤(Windows common controls)에 대한 라이브러리
입니다.

Comdlg32.lib 윈도우 공용 대화상자(Windows common dialogs)에 대한 라이브러리
입니다. 이 라이브러리는 표준 화일오픈,화일저장,폰트선택,프린트
,컬러 선택 다이얼로그에 대한 인터페이스를 제공합니다.

Commode.obj 전역적인 File Commit Flag 값을 Commit 으로 설정합니다.
이 파일과 링크하는것은 오픈되는 모든화일이 기본적으로 Commit
모드에서 열리도록 합니다.

Compmgr.lib 컴포넌트에대한 임포트 라이브러리입니다.

Ctl3d32.lib 3차원(Three-D) 컨트롤에대한 지원 라이브러리입니다.
이 라이브러리는 다이알로그와 컨트롤이 3차원으로 보이도록 합니다.
이 파일은 거의 안쓰입니다. 단지 이전버젼과의 호환을 위해
제공됩니다.

Ctl3d32s.lib Win32s 용 프로그램에대한 Ctl3d 라이브러리 입니다.

D3drm.lib Direct3D 렌더링 모델(Rendering Model) API에 대한
라이브러리입니다.

Daouuid.lib DAO 객체들에 대한 UUID 값을 가지고 있는 라이브러리입니다.

Ddraw.lib DirectDraw API용 라이브러리입니다.

Dflayout.lib Compound Document File(복합문서파일)에 대한 저장소 관리
(Storage Management)를 하는 OLE 함수들에 대한 임포트
라이브러리입니다.

Dlcapi.lib DLC 3270 연결을 위한 라이브러리 입니다.

Dplay.lib DirectPlay API용 라이브러리 입니다.

Dsound.lib DirectSound API용 라이브러리입니다.

Fp10.obj 이 모듈과 링크하는것은 프로그램이 기본적으로 53비트 대신 64비트
부동소수점(Floating-Point Precision) 형식으로 알고리즘을
사용하게 합니다.

Gdi32.lib Windows GDI 임포트 라이브러리 입니다. 이 라이브러리와 링크하는
것은 프로그램이 Windows 의 Graphic Device Interface 에 있는
SelectObject(),CreateFont(),LineTo() 와 같은 루틴을 호출하여
디스플레이나 프린터에 그리기를 수행할수 있도록 합니다.

Glaux.lib OpenGL 보조 함수 라이브러리 입니다. 거의 모든 프로그램에서
사용되지 않으나, 이것은 OpenGL의 핵심(Core) 라이브러리의 기능을
향상시키도록 합니다. Opengl32.lib도 참조하십시오.

Glu32.lib OpenGL 그래픽의 핵심 함수 라이브러리 입니다.
Opengl32.lib도 참조하십시오.

Hlink.lib IHlink 와 관련 인터페이스 지원용 라이브러리 입니다.
이 인터페이스들은 ActiveX 객체가 일반적인 하이퍼링크 스타일
(Hyperlink-Style)의 이동을 구현하는것을 도와줍니다.

Imagehlp.lib 디버거 같은 시스템 툴들이 다른 프로세스를 관리하고 디버그
정보를 추출하도록 하는 루틴이 들어있는 라이브러리 입니다.

Imm32.lib Input Method Editor(IME)의 사용에 라이브러리입니다.
IME는 조그만 팝업윈도우창으로 보이며,다른나라 글자를 선택하도록
해줍니다. (한글윈도우 사용자는 다들 아시죠..? )

Kernel32.lib Windows Kernel 의 임포트 라이브러리입니다. 이 라이브러리와
링크함으로써 Windows kernel 안에 들어있는 루틴의 호출이 가능해
집니다. Windows Kernel 에는 CreateSemaphore() 나 GlobalAlloc()
같은 함수들이 포함되어 있습니다.

Largeint.lib 수학계산용 Large Interger지원 라이브러리입니다. 이 라이브러리는
단지 호환목적으로 제공됩니다. Visual C++ 의 컴파일러는
기본적으로 64Bit Integer 를 지원합니다.

Libc.lib 표준 C Runtime 라이브러리입니다. 이 라이브러리는 sprintf() 나
strcpy() 같은 함수들이 포함되며,프로그램에 정적으로 링크됩니다.
이것은 멀티쓰레드나 재진입(re-entrant) 프로그램에는 안전하지
못합니다.

Libcd.lib 표준 C Runtime 라이브러리의 Debug 버젼입니다. Debug 빌드에선
Libc.lib 대신 이것을 사용합니다. 이것은 프로그램에 정적으로
링크됩니다.

Libci.lib 표준 C 라이브러리입니다.이 라이브러리는 Libc.lib 와 비슷하지만,
이것은 이전 버젼의 Visual C++ 에서 제공된 표준 라이브러리에서
지원된 표준 iostream 라이브러리와의 호환성을 제공합니다.
(iostream이 구형이라는 얘기죠..) 이것은 프로그램에 정적으로
링크됩니다.

Libcid.lib 구형 iostream 버젼이 포함된 표준 C 라이브러리의 Debug버젼입니다.
역시 프로그램에 정적으로 링크됩니다.

Libcimt.lib 구형 iostream 버젼이 포함된 표준 C 라이브러리의 멀티쓰레드에
안전한 버젼입니다. 역시 프로그램에 정적으로 링크됩니다.

Libcimtd.lib 구형 iostream 버젼이 포함된 표준 C 라이브러리의 멀티쓰레드버젼의
Debug 빌드입니다. 역시 프로그램에 정적으로 링크됩니다.

Libcmt.lib 멀티쓰레드 프로그램이나 재진입 프로그램에서도 사용이 안전한
sprintf() 나 strcpy() 같은 함수들이 포함된 C 런타임 라이브러리의
멀티쓰레드 버젼입니다. 역시 프로그램에 정적으로 링크됩니다.

Libcmtd.lib 바로위의 Libcmt.lib의 디버그 버젼입니다.
역시 프로그램에 정적으로 링크됩니다.

Libcp.lib 표준 C++ 런타임 라이브러리 입니다. 이것은 호출하는 프로그램에
정적으로 링크되며, 멀티쓰레드나 재진입 프로그램에 안전하지
못합니다.

Libcpd.lib 표준 C++ 런타임 라이브러리의 Debug 버젼입니다.
역시 프로그램에 정적으로 링크됩니다.

Limcpmt.lib 표준 C++ 런타임 라이브러리의 멀티쓰레드 버젼입니다.
역시 프로그램에 정적으로 링크됩니다.

Libcpmtd.lib 멀티쓰레드 C++ 표준 라이브러리의 디버그 버젼입니다.
역시 프로그램에 정적으로 링크됩니다.

Loadperf.lib 이 임포트 라이브러리는 Performance Counter 에 관련된 레지스트리
값들의 초기화를 지원하는 루틴들을 포함합니다.
이 라이브러리는 보통 인스톨 프로그램들에 사용됩니다.

Lz32.lib Lempel-Ziv압축해제 루틴 라이브러리입니다. 보통 인스톨 프로그램에
의해서 사용됩니다. 이 라이브러리는 압축루틴이 없으며,
단지 압축해제루틴만 들어있습니다.

Mapi32.lib Microsoft Mail API 라이브러리 입니다..

Mfcapwz.lib Custom Wizard의 개발을 가능하게 해주는 클래스와 함수들이 포함된
라이브러리입니다.

Mfcclwz.lib Custom Wizard의 개발을 가능하게 해주는 클래스와 함수들이 포함된
라이브러리입니다.

Mfcuia32.lib OLE 공통 사용자 인터페이스(Common User Interface)에 대한 MFC 의
구현부분이 들어있습니다. Oledlg.lib 와 비슷하지만 Unicode 대신
ANSI 인터페이스를 지원합니다.

Mgmtapi.lib SNMP(Simple Network Management Protocol) Management API입니다.

Mpr.lib 연결관리(Connection Management)를 위한 LAN Manager 스타일의
네트웍 API 가 들어있습니다. 이 API 들은 Windows 상에서 Connect와
DIsconnet 를 가능하게 합니다.

Msacm32.lib Microsoft Audio Compression Manager API(오디오 압축 관리자 API)
입니다. 이것은 Audio Waveform 데이타를 압축하고 해제하는
유틸리티들입니다.

Msconf.lib Microsoft ActiveX Conferencing API 에 대한 라이브러리입니다.

Mslsp32.lib License Service API 에 대한 임포트 라이브러리입니다.

Msvcirt.lib 구형 iostream 버젼이 포함된 표준 C 라이브러리의 DLL Build에 대한
임포트 라이브러리 입니다. 이 라이브러리는 Libci.lib 라이브러리의
DLL 버젼에 대한 임포트 라이브러리입니다.

Msvcirtd.lib Mscvirt.lib 라이브러리의 디버그 버젼에 대한 임포트 라이브러리
입니다.

Msvcprt.lib 표준 C++ 라이브러리의 DLL Build 에 대한 임포트 라이브러리입니다.
이것은 Libcp.lib 라이브러리의 DLL 버젼에 대한 임포트 라이브러리
입니다.

Msvcprtd.lib Msvcprt.lib 라이브러리의 디버그 버젼에 대한 임포트 라이브러리
입니다.

Msvcrt.lib 표준 C 라이브러리의 DLL Build 에 대한 임포트 라이브러리입니다.
이것은 Libc.lib 라이브러리의 DLL 버젼에 대한 임포트 라이브러리
입니다.

Msvcrtd.lib Msvcrt.lib 라이브러리의 디버그 버젼에 대한 임포트 라이브러리
입니다. Retail Build 에서 Msvcrt.lib 를 사용한다면 Debug Build
에서 이것을 사용하십시오.

Mswsock.lib Windows Sockets 2 API 에 대한 Microsoft 의 특정 확장부분
(MS-Specific Extension)에 대한 임포트 라이브러리입니다.

Mtx.lib Microsoft Transaction Server(MTS) 프로그래밍 인터페이스
라이브러리입니다.

Mtxguid.lib MTS 에 의해 지원되는 객체들의 Guid 들을 가지고 있는
라이브러리입니다.

Nddeapi.lib Network DDE API 입니다. DDE 스타일의 서비스를 네트웍을 통하여
시스템간에 사용가능하도록 해줍니다.

Netapi32.lib LAN Manager API Interface 입니다. 이 라이브러리는 MS 의 NOS
(Network Operation System)에 의해 제공되는 저수준의 기능들을
사용하도록 해주는 함수들을 포함하고 있습니다.

Newmode.obj 당신의 Application 이 malloc() 함수 호출에 실패했을때 new
연산자의 에러 처리 메커니즘을 사용하도록 하여줍니다. 기본적으로,
이것이 동작하지는 않습니다: malloc() 이 실패한다면, NULL 을
리턴하지 예외를 발생시키지(Throw) 않습니다.
이 모듈과 링크하는것은 malloc() 호출 실패시 new 연산자의 에러
처리루틴을 호출하는 것으로 C 런타임 라이브러리의 동작을
변경합니다.

Ocx96.lib OCX 96 스펙(Specification)에 명시된 인터페이스들에 대한
UUID들이 포함된 라이브러리입니다.

Odbc32.lib ODBC API 라이브러리입니다. 이 라이브러리는 데이터베이스
응용프로그램에 대한 하부 독립적인 API 들을 제공합니다.
이 라이브러리는 MFC 에 의해 다시 추상화 됩니다.

Odbccp32.lib ODBC control panel applet(제어판에 등록되는 응용프로그램) 에
관한 인터페이스가 포함된 라이브러리입니다.

Oldnames.lib "Kernighan and Ritchie C" 와 호환되는 이름을 가진
표준 C 런타임 라이브러리 함수들입니다. 이 라이브러리는 K&R-C의
execv() 같은것을 ANSI-C 의 같은 함수인 _execv() 에 매핑(Mapping)
해줍니다.

Ole32.lib 32-bit OLE 지원을 위한 Core 라이브러리입니다.

Oleaut32.lib 32-bit Automation interface에 대한 라이브러리입니다.

Oledlg.lib OLE 공통 사용자 인터페이스(Common User Interface)에 대한 System
Implementation입니다. OleUiEditLinks() 나 OleInsertObject()와
같은 함수들을 포함합니다.

Olepro32.lib OLE Property Frame API 입니다. 또한 OLE Font (IFont) 나 Picture
(IPicture) 프로퍼티 들에 대한 구현도 포함하고 있습니다.

Opengl32.lib OpenGL 의 Core 함수 라이브러리입니다.
OpenGL 은 Silicon Graphics에 의해 정의되고 Microsoft 에 의해
Win32 용으로 구현된 Graphic Rendering Language 입니다.
Glu32.lib 와 Glaux.lib 도 참조하십시오.

Pdh.lib Performance Data 헬퍼함수들에 대한 임포트 라이브러리 입니다.
이 Win32 API의 부분들은 프로세스에대해 Performance Counter 들을
작성하고,질의하고,갱신하는것을(Create,Query,Update) 도와주는
쉬운 인터페이스들을 포함하고 있습니다.

Penwin32.lib Pen Computing 용 Windows에 대한 확장 라이브러리입니다.

Pkpd32.lib Pen Windows 의 커널함수들입니다.

Rasapi32.lib 클라이언트용 Remote Access Service(RAS) API 입니다.
이 라이브러리에 있는 함수들은 모뎀이나 그 비슷한 저속회선 연결을
통해 원격지 컴퓨터에 연결하도록 해줍니다.

Rasdlg.lib RAS 응용프로그램에 대한 Common User Interface 요소들을 포함하고
있는 라이브러리입니다.

Rassapi.lib RAS 서버쪽 API 들입니다.

Rpcndr.lib Remote Procedure Call(RPC) Helper Function API 들입니다.

Rpcns4.lib RPC Name Service 함수들 입니다.

Rpcrt4.lib RPC Windows run-time 함수들 입니다.

Scrnsave.lib 화면보호기(Screen saver) 에 대한 인터페이스입니다.

Setargv.obj 이 모듈과 링크하는 것은 콘솔 프로그램이 Wildcard(*,?) 를 사용한
Command Line Parameter들을 실제 파일이름들로 지정하도록 확장하여
줍니다. 각 파일은 main() 의 argv 인자에 들어가게 됩니다.
윈도우에서 사용하려면 Wsetargv.obj 를 살펴보십시오.

Setupapi.lib 파일 설치와 삭제에 관련된 함수들입니다. 셋업프로그램에서
사용됩니다.

Shell32.lib Windows Interface Shell API 들입니다. 이 API 들은 예를 들어
Norton Desktop for Windows와 같은 프로그램에 사용된 실행파일에서
아이콘을 추출하거나 Command Line Parameter 를 사용해 다른
프로그램을 실행하는등의 기능을 제공합니다.

Snmpapi.lib Simple Network Managerment Protocol(SNMP)에 관련된 주 API 함수들
입니다. TCP/IP 네트웍에 대해 이 프로토콜은 Gateway 나 연결될
네트웍들을 모니터링하는데 사용됩니다. Mgmtapi.lib 와 연관되어
있습니다.

Svrapi.lib Inter-Server Communication 에 관한 Network API 들입니다.

Tapi32.lib Microsoft Telephony API(TAPI) 라이브러리입니다. lineOpen() 과
같은 telephony API 들을 구현합니다.

Th32.lib 32-bit Toolhelp 라이브러리입니다. 이 라이브러리는 Debugger 나
저수준의 툴을 작성할때 도움을 주는 함수들을 제공합니다.
예를들어 이 라이브러리의 루틴들을 윈도우상에서 프로세스나
쓰레드들을 Enumerate 하게 해줍니다.

Thunk32.lib Thunk 컴파일러의 런타임 지원 루틴들입니다.
(Thunking 이 뭔지 아시죠?)

Url.lib 이 파일은 URL 을 Parsing 하거나 MIME 헤더를 해석하는데 사용하는
루틴입니다. 이 라이브러리에 있는 함수들은 현재 문서화가 되어있지
않으며, 이것은 Win32 SDK 의 이후 버젼이나 Visual C++ 의 이후버젼
에서 더 정제되고, 무리없게 지원될것입니다.

Urlmon.lib URL 모니커(moniker)의 런타임 지원 라이브러리에 대한 임포트
라이브러리입니다.

User32.lib 윈도우즈의 USER.EXE 에 대한 임포트 라이브러리 입니다.
이 라이브러리와 링크하는 것은 프로그램이 Windows 의 UI 부분을
사용할수 있도록 해줍니다. 이 라이브러리는 CreateDialog() 나
CreateWindow() 같은 함수를 포함합니다.

Uuid.lib Stock(내장된) OLE 객체에 대한 표준 UUID 들입니다.

Vdmdbg.lib 이 라이브러리에 있는 함수들은 NT VDM 안에서 디버깅 하는것에
관련된 기능들을 지원합니다.

Version.lib GetFileVersion() 과 같은 버젼 확인 API 들입니다.

Vfw32.lib Video for Windows API 들입니다. 이 라이브러리에 있는 함수들은
Multimedia 비디오와 오디오를 재생,녹음,수정,저장 하는것을
가능하게 합니다.

Webpost.lib WebPost API 임포트 라이브러리입니다. 이 라이브러리는 ISP
(internet Service Provider)에 의해 제공되는 웹 사이트에 사용자의
컴퓨터에서 데이타를 올리는것이 가능하도록 도와줍니다.

Win32spl.lib Win32 spooler API 입니다. 이 파일에 있는 루틴들은 다른 프로그램
이나 컴퓨터들로부터 Print Spooler Status에 접근하는것을 가능하게
해줍니다.

Wininet.lib Windows Internet Client API 들입니다.

Winmm.lib Windows Multimedia API 들입니다. Multimedia Device Management,
Timer, Wave 파일, Multimedia I/O 제어함수 같은 것을 포함합니다.

Winspool.lib The Win32 spooler API 입니다. 이 라이브러에 보이는 루틴들을
프로그램이 프린트 하는 동안 Windows Print Spooler 의 기능을
사용하도록 해줍니다.

Winstrm.lib Windows NT의 TCP/IP interface들 입니다. 이 파일은 TCP/IP Routing
함수같은 것들을 제공합니다.

Wintrust.lib ActiveX 객체에 대한 Trust Verification(신용확인) 에 관한 API들의
임포트 라이브러리입니다. 이것은 WinVerifyTrust() 같은 함수들을
사용가능하도록 합니다.

Wow32.lib 이 라이브러리는 16-Bit 와 32-Bit 객체간에 핸들을 변형하도록 하는
Generic Thunking 메커니즘에 의해 사용됩니다. 이 라이브러리는
또한 16 Bit 프로세스에서 32-Bit 메모리를 관리하도록 하는것을
도와줍니다.

Ws2_32.lib Windows Sockets 2.0 API 입니다.

Wsetargv.obj 이 모듈과 링크하는 것은 Windows 프로그램이 Wildcard(*,?) 를
사용한 Command Line Parameter 들을 실제 파일이름들로 지정하도록
확장하여 줍니다. 각 파일은 main()의 argv 인자에 들어가게 됩니다.
콘솔 프로그램에 사용하려면 setargv.obj 를 살펴보십시오.

Wsock32.lib Windows Sockets APIs.

Wsock32.lib Windows Sockets API 입니다.

Wst.lib Working Set Tuner DLL 에 대한 인터페이스 입니다.
Working Set Tuner DLL 은 프로그램을 조사하여 프로그램의
Working Set 을 최소화하도록 도와줍니다.

=============================================================================

참고할점은 주 API 들과, 헤더 파일 그리고 라이브러리들의 요약이 Lib 디렉토리에
있는 Win32api.csv 에 들어있다는 것입니다. 이 파일은 Comma Separated Variable
File(*.csv) 이며, 엑셀같은 스프레드쉬트 프로그램에서 읽어들일수 있습니다.


--- 이것으로 해서 끝이네요.. 회사에서 점심,저녁시간에만 번역을 하다보니
시간이 한참 걸렸습니다. 도움이 되었으면 좋겠네요.. 그럼 이만..