일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ida
- x64
- pytest
- commandline
- idapython
- Analysis
- NumPy Unicode Error
- TensorFlow
- hex-rays
- error fix
- javascript
- Python
- ida pro
- open office xml
- 포인터 매핑
- malware
- why error
- Rat
- error
- h5py.File
- MySQL
- debugging
- ecma
- Ransomware
- Injection
- data distribution
- svn update
- idb2pat
- idapro
- mock.patch
- Today
- Total
13 Security Lab
MFC 헤더와 라이브러리 설명 본문
MFC 헤더와 라이브러리 설명 (The Foundation Classes Headers and Libraries)
1. Header Files
아래 테이블은 모든 MFC 헤더 파일들과 사용 목적, 그리고 어떤 파일전에 어떤
파일들이 Include 될수 있는지에 대해 나와있습니다. 거의 모든 헤더들이 다른
헤더들에 의해 Include 된다는 것을 주의하십시오.
당신의 코드에서 직접 Include 하는것은 약 4-5개 정도입니다.
헤더 (Header)설명
Afx.h Windows 를 사용(?)하지 않는 MFC 프로그램을 작성할때 Include
하는 Main Header 파일입니다. 콘솔용 MFC 응용프로그램을 작성할때
이 헤더만 있으면 됩니다. 이것은 Windows 외에서 사용될수 있는
콜렉션 클래스와 Application Framework 클래스들를 포함한 모든
클래스를 선언합니다. 콘솔용 프로그램을 작성한다면 다른 MFC 헤더
들을 Include 하기전에 이 파일을 Include 하여야 됩니다.
만약 윈도우용 프로그램을 작성한다면, 이 파일대신 Afxwin.h 를
사용하십시오.
Afxcmn.h 이 파일은 윈도우의 공용 컨트롤(Common Control)에 대한 Definition
들을 가지고 있습니다. Afxwin.h 를 Include하지 않았다면 이 파일을
사용할수 없습니다.
Afxcoll.h 이 파일은 MFC 컨테이너 클래스들에 대한 Declaration(선언)을
가지고 있습니다. 이 파일은 Afx.h 의 내용에 의존합니다.
Afxcoll.h 는 CObject-style 과 type-safe 콜렉션에 대한
Definition 을 포함하고 있습니다. 템플릿 콜렉션 클래스들은
Afxtempl.h 안에 있습니다.
Afxctl.h 이 파일은 ActiveX 컨트롤을 작성하는데 필요한 클래스와 선언들을
가지고 있습니다. 컨트롤 작성 프로젝트에서는 이 파일을 Afx.h 나
Afxwin.h 대신에 Include 해야 합니다.
Afxcview.h 이 파일은 Tree 와 List 공용 컨트롤을 기초로 하는 CView 파생
클래스들에 대한 Definition 들을 가지고 있습니다. 이 파일은 좀더
작고 효율적인 링킹을 위해 Afxwin.h 와 Afxcmn.h 파일로부터
분리되었으며, 이것은 좀더 작고 빠른 실행화일을 생성할수 있도록
해줍니다. 만약 CTreeView 나 CListView를 사용한다면 Afxwin.h 파일
다음에 이것을 Include 하여야 합니다.
Afxdao.h 이 파일은 DAO 에 기반한 데이터 억세스를 지원하기 위한 클래스들
(CDaoDatabase 와 CDaoRecordset 같은)을 담고있습니다. 이 헤더가
필요하다면 Afxwin.h 와 Afxdisp.h 다음에 Include 하여야 합니다.
Afxdb.h 이 파일은 ODBC 에 기반한 데이타 베이스 프로그램을 개발하기 위한
클래스들(CDatabase 와 CRecordset 같은)을 담고 있습니다.
이 파일은 또한 "RFX_*" 와 같은 [레코드 필드 교환 명령]들 같은
데이터베이스 프로그램 개발에 필요한 전역 함수들을 정의하고
있습니다. 데이터베이스 클래스를 사용하려면 먼저 Afx.h 와
Afxwin.h 를 Include 한다음 이 파일을 Include 하여야 합니다.
Afxdb_.h 이 파일은 ODBC 와 DAO 에 공통적인 definition 들과 클래스들을
포함하고 있습니다. 이 파일은 전혀 Include 할 필요가 없습니다.
이것은 Afxdb.h 나 Afxdao.h 를 Include 할때 따라오게 됩니다.
Afxdd_.h 이 파일은 다이알로그 데이타 교환(DDX) 함수들에 대한 선언들을
포함하고 있습니다. 끝이 _ 로 끝나는 다른 화일들과 마찬가지로,
이 파일도 직접 Include 할 필요가 없습니다.
이것은 Afxwin.h 에 의해 포함됩니다.
Afxdisp.h 이 파일은 COM dispatch인터페이스에 대한 선언과 정의들을 포함하고
있윱求?이것은 CCmdTarget에 의해 처리되는 Automation을 작성하기
위한 모든 확장들과 MFC 가 COM 프로그램을 쉽게 하기위해 제공하는
모든 자료형들, Wrapper 클래스들을 포함하고 있습니다.
COM 을 사용할때만 이 파일을 Include 하십시오. 만약 그렇지 않으면
필요치 않은 런타임DLL들에 연결되게 되며,이것은 작성된 프로그램의
시작을 느리게 할것입니다. 이 파일은 Afxwin.h 뒤에 Include 되어야
합니다. 만약 Afxcmn.h 를 사용하고 있고, OLE 클래스들을 사용할
필요가 있다면 이 파일을 Include하십시오
Afxdlgs.h MFC 의 확장 다이알로그 클래스들이 이 파일에 선언되어 있습니다.
이 클래스들은 CPropertySheet와 CPropertyPage를 포함하여 윈도우의
공통 대화상자(Common Dialog)에 대한 MFC Wrapper 들입니다.
이 파일은 Afxext.h 에 의해 포함되게 됩니다.
Afxdllx.h 이 파일은 MFC 확장DLL을 작성할때 소스 모듈들에 포함되는 소스코드
를 포함하고 있습니다.(ExtRawDllMain)
Afxdll_.h 이 파일은 MFC 가 확장 DLL 에 대한 정보를 관리하도록 도와주는
클래스들을 포함하고 있습니다.
이 파일은 당신의 프로그램이 _AFXDLL Precompiler플래그를 사용하여
작성될때 Afxwin.h 에 의해 포함됩니다.
Afxext.h Afxext.h 화일은 '확장' MFC클래스들을 선언합니다.
이것은 CStatusBar와 CToolBar같은 진보된 User-Interface클래스들을
포함하고 있습니다. 이 클래스들을 사용한다면, 먼저 Afxwin.h 를
포함하십시오.
Afxinet.h CHttpConnection 같은 클래스들을 선언합니다. 이 파일에 선언된
클래스들을 인터넷 클라이언트 프로그램을 작성가능하게 합니다.
Afxisapi.h ISAPI 인터페이스를 사용하는 인터넷 서버 프로그램 작성용 클래스들
선언입니다.
Afxmsg_.h 이 파일은 간접적으로 Afxwin.h에 의해 참조됩니다. 따로 Include 할
필요는 없습니다. 메시지맵 항목들에 대한 정의를 포함하고 있습니다
Afxmt.h Multithreaded Application 을 위한 동기화(Synchronization) 객체를
포함하고 있습니다. 이 클래스들은 Console 프로그램에서도 사용이
가능하며, 먼저 Afx.h 를 Include 해야 합니다.
Afxodlgs.h 이 파일은 MFC 에서의 OLE 대화상자 구현을 위한 클래스 선언들을
포함하고 있습니다. 만약 이 대화상자들 사용하거나 서브클래싱 할
경우에는 이 파일을 직접 Include 하여야 합니다.
물론 먼저 Afxwin.h 가 Include 되어야 합니다.
Afxole.h 이 파일은 OLE를 위한 핵심 클래스들을 선언하고 있습니다.
이 클래스들은 COleDocument 기반의 클래스들과 OLE 아이템들 그리고
그들과 같이 사용되는 Drag-and-Drop 지원을 포함합니다. 프로그램이
OLE 를 사용한다면 Afxwin.h 다음에 이 파일을 포함해야 합니다.
Afxplex_.h 이 파일은 MFC 에서 CObject기반의 콜렉션 클래스들 구현에 사용되는
CPlex 클래스를 구현하고 있습니다.
Afxpriv.h 이 파일은 MFC 구현에 필요한 내부적인(사적인) 것을을 포함하고
있습니다. 만약 안을 들여다본다면, 당신의 일을 도와줄수 있는
깔끔한 자료구조나 클래스들을 찾을수 있을겁니다.
하지만, 조심해서 사용하십시오. 이 파일에 있는 것들은 MFC 버젼이
바뀌면 예고없이 바뀔수도 있습니다.
이런것을 인지한 다음에 직접 Include 하여 사용하십시오.
Afxres.h 이 파일은 MFC 프로그램을 위한 Resource Script(.rc 파일) 에 의해
사용됩니다.(Include 됩니다.)
이 파일은 Afxwin.h 에 의해 간접적으로 참조됩니다.
이 파일은 거의 직접 참조될 필요가 없습니다. 이 파일은 미리
정의된 모든 MFC 리소스들에 대한 Preprocessor Symbol Definition
들을 포함합니다.
Afxrich.h 이 파일은 CRichEditCtrl 과 관련된 약간의 클래스들에 대한 정의를
포함하고 있습니다. 만약 Rich Edit컨트롤을 사용한다면 Afxcmn.h와
Afxwin.h 다음에 이 파일을 Include 해야 합니다. 또한 Afxole.h
파일도 Include 되어야 합니다.Rich Edit 컨트롤은 매우 강력합니다
이것은 완벽하게 OLE 를 지원합니다.
Afxsock.h CSocket 과 CAsyncSocket 클래스에 대한 정의를 포함하고 있습니다.
이 클래스들은 Windows Sockets API(네트워크 기반의 통신 API)를
감쌉니다.(Wrapping)
Afxstat_.h 이 파일은 동작중인 프로그램에 대해 MFC 가 관리하는 상태정보
저장용 구조체들을 정의합니다. 이 상태정보는 MFC 에 의해
사용되며 프로그램이 어떻게 동작해야 할지를 알수 있게 합니다.
이 파일은 직접적으로는 참조되지 않으며, Afx.h에 의해 Include
됩니다.
Afxtempl.h 이 파일은 MFC 콜렉션 클래스들에 대한 템플릿 기반의 구현들을
포함하고 있습니다. Afx.h 뒤에 Include 되어야 합니다.
Afxtls_.h MFC 가 각 어플리케이션별 또는 쓰레드별 상태정보를 관리하기 위한
Thread-Local Storage 매크로 들을 포함합니다. 이 매크로들은
Afxstat_.h 에 있는 많은 구조체들에 의해 사용되며, 이 파일은
직접적으로 참조되지 않습니다. Afx.h 에 의해 참조됩니다.
Afxver_.h 이 파일은 MFC 프로그램이 만들어질때(Build) 여러가지 설정을 위해
사용되는 많은 Preprocessor macro 들을 가지고 있는 중요한 파일
입니다. 당신이 MFC 어플리케이션을 Build 할때 이 헤더는 당신의
프로그램이 정확하게 MFC 에 링크되는지를 확인하는 약간의 설정도
추가하게 됩니다. 이 파일은 전혀 직접 참조할 필요가 없으며,
실제로 이 파일을 읽어볼 필요도 없습니다. 이 파일은 아주
저수준(Low-Level)의 매크로와 내부구현들로 가득차 있기때문입니다.
Afxv_cfg.h 이 파일은 한가지의 일을 합니다: 이것은 _AFX_PORTABLE 이란
플래그에 의해 동작됩니다. 만약 당신이 MFC 를 Build 하기위해
제작되지 않은 컴파일러(Watcom 이나 Symantec 등)를 사용한다면
Preprocessor 심볼인 _CUSTOM 을 정의하여 이 파일이 Include되도록
해야 합니다. 이 파일은 절대로 어플리케이션에 의해 직접적으로
참조되지 않으면, 일반적인 상황에서는 MFC 에 의해 전혀 사용되지
않습니다.
Afxv_cpu.h Afxver_.h 에 의해 참조되며,이 파일은 Macintosh,Power PC,MIPS,
Alpha용 MFC 에 대한 약간의 설정을 합니다. 이 파일은 절대로
어플리케이션에 의해 직접적으로 참조되지 않습니다.
Afxv_dll.h 이 파일은 DLL 기반의 MFC Build 에 대한 설정을 하기위해
사용됩니다. 이 파일은 DLL Build에 대한 많은 특수심볼을 정의하여
DLL 의 Segment Layout 을 최적으로 만듭니다. 이것은 Afxver_.h 에
의해 참조되며 절대로 어플리케이션에 의해 직접적으로 참조되지
않습니다.
Afxv_mac.h 이 파일은 Macintosh용 MFC 에 대한 여분의 설정변경을 가지고
있습니다. 이것은 Afxver_.h에 의해 참조되며 절대로 어플리케이션에
의해 직접적으로 참조되지 않습니다.
Afxv_w32.h 이 파일은 Win32 용 MFC 를 설정합니다. 이것은 항상 Include 되며,
이것은 MFC 가 Win32 의 변형들(Win32s,Win32c..) 상에서 동작될때도
마찬가지입니다. 이 파일은 시스템관련, 표준 C, C++ Include 파일을
참조하게됩니다.이 파일이 Windows.h와 그 친구들을 불러오는
파일입니다. (또한 Tchar.h 나 String.h 같은 헤더도 포함됩니다.)
Afxwin.h 이 파일이 윈도우 상에서 동작하는 MFC 어플리케이션에 대한 주 헤더
(Primary Header) 파일입니다. Windows 용 프로그램을 작성한다면
Afx.h 후에 이 파일을 Include 하십시오. 콘솔 프로그램을 만든다면
이 파일을 사용하지 마십시요.
이 파일은 CWnd 와 CWnd의 파생 클래스와 같은 기본클래스들을 정의
합니다.
Winres.h 이 파일은 MFC 어플리케이션에 의해 사용되는 Resource Identifier
들에 대한 부분집합을 정의합니다. 이것은 Afxres.h에 의해 참조되며
Windows의 헤더가 일반적으로 정의하는 것들의 부분집합을
제공합니다. MFC 어플리케이션에서 직접 참조되지 않습니다.
-------------------------------------------------------------------------------
int fputc (int ch, FILE *stream);
지정된 stream의 현재의 파일 위치에 문자 ch를 기록한 후 파일위치표시기의 값을 1 증가시킨다. 에러가 발생하면 EOF가, 정상적으로 실행되면 ch의 값이 되돌려진다.
int fputs(const char *str, FILE *stream );
지정된 stream의 현재의 파일 위치에 문자열 str을 기록한다. 하지만 문자열 str의 끝을 나타내는 null 은 삽입되지 않는다. 에러가 발생하면 EOF가, 정상적으로 실행되면 비음수의 값이 되돌려진다.
int fseek(FILE *stream, long int offset, int origin);
stream에 연결된 파일 위치표시기의 값을 offset 과 origin의 값에 따라 설정한다. 이 함수는 임의접근 형태의 입출력을 지원하기 위해 사용된다. offset은 origin으로부터의 숫자를 의미한다.
origin의 값으로는 다음의 세 가지중의 하나가 된다.
SEEK_SET 파일의 맨 처음
SEEK_CUR 현재의 위치
SEEK_END 파일의 맨 끝
성공적으로 수행되면 0이 되돌려지고 실패했을 경우 0이 아닌 값이 되돌려진다. fseek()함수는 이진파일에서만 사용한다.
int getc(FILE *stream);
지정된 입력 stream으로부터 다음 문자를 되돌리고 파일위치표시기의 값을 1 만큼 증가시킨다. 파일의 끝에 도달하거나 에러가 발생하면 EOF가 되돌려진다. 하지만 이진파일에서는 파일의 끝을 feof()를 이용하여 확인해야 한다.
int getchar(void);
stdin에서 다음 문자를 unsigned char 로 읽어 정수로 변환한 후 되돌린다. 파일의 끝이나 에러가 발생하면 EOF를 되돌린다.
char gets(char *str);
stdin으로부터 문자를 읽어 str 에 의해 지정된 문자열에 저장한다. 문자는 새로운 라인(\n)이나 EOF를 만날 때까지 읽혀진다. 성공적으로 실행되면 str 문자열을 되돌리고 실패하면 null을 되돌린다.
int printf(const char *format, ...);
format에 의해 지정된 문자열에 정의된 대로 인수들을 stdout에 기록한다.
format에 의해 지정되는 문자열에는 두 가지 형태가 있는데 첫째는 화면에 출력될 정보(변수 또는 리터럴)를 나타내는 문자열과 둘째 이들 정보가 출력되는 형식을 정의하는 문자열이다.
두 번째에서 정보가 출력되는 형식을 지정하기 위해 % 기호와 출력의 형식을 지정하는 문자열을 함께 사용해야 한다.
int putc (int ch, FILE *stream);
정수 ch 의 가장 오른쪽 바이트에 포함된 문자를 stream에 의해 지정된 파일에 기록한다. 성공적으로 실행되면 문자를 되돌리고 실패하면 EOF를 되돌린다.
int putchar(int ch);
ch 의 가장 오른쪽 바이트에 포함된 문자를 stdout 에 출력한다. 성공적으로 실행되면 문자를 되돌리고 실패하면 EOF를 되돌린다.
int puts(const char *str);
str에 의해 지정된 문자열을 표준 출력장치에 기록한다. 성공적으로 실행되면 비음수의 값을 되돌리고 실패하면 EOF를 되돌린다.
int scanf (const char *format, ...);
printf()함수가 stdout에 출력하는 기능을 갖고 있음에 반해 scanf()함수는 stdin에서 입력받는 기능을 정의한다. 즉 scanf()는 스트림 stdin에서 정보를 읽어 이를 지정된 인수가 가리키는 변수에 저장한다.
scanf()에서 사용할 수 있는 입력형식은 아래와 같다.
------------------------------------------------------------------------------
<ctype.h>
int isalnum(int ch)
인수 ch 가 알파벳이나 숫자인 경우 0이 아닌 값을 되돌린다.
int isalpha(int ch);
인수 ch 가 알파벳인 경우 0이 아닌 값을 되돌리고 아니면 0을 되돌린다.
int isblank (int ch);
인수 ch 가 빈칸이면서 동시에 단어를 띄우기 위해 사용된 경우 0이 아닌 값을 되돌린다.(C-99에 추가됨);
int isdigit(int ch);
인수 ch 가 0에서 9사이의 숫자인 경우 0이 아닌 값을 되돌리고 그외의 경우 0을 되돌린다.
int islower(int ch);
인수 ch가 알파벳의 소문자인 경우 0이 아닌 값을 되돌리고 아니면 0을 되돌린다.
int isspace(int ch);
인수 ch가 빈칸(space)인 경우 0이 아닌 값을 되돌리고 아니면 0을 되돌린다.
int isupper(int ch);
인수 ch가 알파벳의 대문자인 경우 0이 아닌 값을 되돌리고 아니면 0을 되돌린다.
----------------------------------------------------------------------------
<string.h>
char *strcat(char *str1, const char *str2);
문자열 str1에 문자열 str2를 덧붙인 후 null을 첨가한다.
int strcmp(const char *str1, const char *str2);
str1 과 str2를 비교한 후 str1 이 str2 보다 작으면 음수의 값을,
str1 이 str2 보다 크면 양수의 값을, 같으면 0 값을 되돌린다.
char strcpy(char *str1, const char *str2);
str2의 문자열을 str1의 문자열에 복사시킨다. str2 는 null이 첨가된 문자열에 대한 포인터가 되어야 한다.
size_t strlen(const char *str);
문자열의 길이를 되돌린다.
int tolower(int ch);
ch가 문자일 때 이에 해당하는 소문자를 되돌린다.
int toupper(int ch);
ch가 문자일 때 이에 해당하는 대문자를 되돌린다.
-----------------------------------------------------------------------------------
<math.h>
double cos(double arg);
인수 arg의 코사인 값을 되돌린다. 인수 arg는 래디안이다.
double exp(double arg);
자연대수의 밑수 e(2.718282) 에 대하여 arg 제곱을 값을 되돌린다.
double fabs(double num);
인수 num에 대한 절대값을 되돌린다
double fmod(double a, double b);
값 a를 값 b 로 나눈 후 나머지 값을 되돌린다.
double log(double num);
num에 대한 자연대수를 되돌린다. num의 값이 음수나 0 이면 에러가 발생한다.
double log10(double num);
num에 대한 상용로그 즉 밑수 10에 대한 로그 값을 되돌린다. num의 값이 음수나 0 이면 에러가 발생한다.
double pow(double base, double exp);
base를 exp 제곱한 값을 되돌린다. pow(2,4) 는 2^4 즉 16을 되돌린다.
double sin(double arg);
인수 arg의 사인의 값을 되돌린다. 인수 arg는 래디안으로 표시되어야 한다.
double sqrt(double num);
num의 제곱근의 값을 되돌린다. num의 값이 음수인 경우 에러가 발생한다.
double tan(double arg);
인수 arg의 탄젠트 값을 되돌린다. 인수 arg는 래디안으로 표시되어야 한다.
sin(), cos(), tan(), exp(), log(), sqrt(), abs(), fabs(), pow(), fmod()
이 함수들은 수학 계산 함수입니다.
싸인, 코싸인, 탄젠트에 대한 함수들이 sin(), cos(), tan()이고,
exp()는 지수승, log()는 로그를 계산하는 함수죠.
sqrt()는 루트를 계산하는 함수구요.
abs()와 fabs()는 절대값을 구하는 함수인데요, abs()는 정수에 대해, fabs()는 실수에 대해 절대값을 구해줍니다.
pow()는 제곱근을 계산하는 함수입니다.
fmod()는 나눗셈의 나머지를 구하는 함수인데요, 실수에 대한 나머지입니다.
-------------------------------------------------------------------------
<time.h>
double difftime(time_t time2, time_t time1);
time1과 time2의 차이 즉, time2-time1의 계산값을 초단위로 되돌린다.
time_t time (time_t *time);
시스템의 현재 시간을 되돌린다.
<stdlib.h>
int abs(int num);
num에 대한 절대값을 되돌린다.
double atof(const char *str);
str에 의해 지정된 문자열을 실수(double) 값으로 변환한다.
int atoi(const char *str);
str에 의해 지정된 문자열을 정수(int) 값으로 변환한다.
long int atol(const char *str);
str에 의해 지정된 문자열을 long 정수(long int) 값으로 변환한다.
void exit(int exit_code);
정상적으로 프로그램을 종료시킨다. 이때 열려진 파일은 모두 자동적으로 flush되며 닫힌다.
long int labs (long int num);
long 정수(long int) num 에 대한 절대값을 되돌린다.
int rand(void);
난수를 발생시킨다. 난수는 0에서 RAND_MAX 사이인데 RAND_MAX의 값으로는 최소 32,767이 할당된다.
double strtod(const char *start, char **end);
start에 의해 지정된 문자열에 저장된 숫자의 문자열표현을 double로 바꾼 후 그 결과 값을 되돌린다.
long int strtol(const char *start, char **end, int radix);
start에 의해 지정된 문자열에 저장된 숫자의 문자열표현을 long int로 바꾼 후 그 결과 값을 되돌린다.
int system(const char *str);
str에 의해 지정된 문자열(시스템 명령어)를 운영체제의 명령어 처리기로 보낸다.
----------------------------------------------------------------------------------
텍스트화면 처리함수 <conio.h>
함수명 | 기능 | |
텍스트입출력 | cprintf cputs putch getche |
화면에 형식 지정된 출력 화면에 String 출력 화면에 단일문자 출력 화면에서 Echo 있는 단일문자 입력 |
화면 제어 | clrscr clreol deline gotoxy insline movetext |
텍스트 윈도우의 clear 커서 위치에서 줄의 끝까지 clear 커서가 위치한 행 삭제 지정된 x, y로 커서 이동 커서가 위치한 행에 새로운 행 삽입 지정된 left, top, right, bottom에 해당하는 사각 텍스트의 복사 |
블록 이동 | gettext puttext |
화면의 텍스트를 메모리로 복사메모리의 텍스트를 화면으로 복사 |
모드 | textmode window |
텍스트 모드의 설정 텍스트 윈도우의 설정 |
속성 제어 | highvideo lowvideo no rmvideo textcolor textbackground textattr |
고해상도 모드 설정 저해상도 모드 설정 정상 모드 설정 전경의 텍스트 색상 지정 배강의 텍스트 색상 지정 전경과 배경의 텍스트 색상 지정 |
화면 정보의획득 | gettextinfo where x where y |
현재 사용 중인 윈도우의 정보 획득 커서 위치의 획득(x) 커서 위치의 획득(y) |
1) clrscr() 10) window(left, top, right, bottom) 11) hightvideo() 15) textbackground(color)
void main() clrscr(); printf("%-4s내가 당신을 얼마만큼 사랑하는지 당신은 알지 못합니다.\n","8."); printf("%-4s\n%-4s\n","12.","13."); /* printf("%-4s당신이 나를 얼마만큼 사랑하는지 나는 알 수가 없습니다.\n","14."); printf("%-4s당신이 나를 얼마만큼 사랑하는지 나는 알 수가 없습니다.\n","20.");
|
=====================================================================================
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) 이며, 엑셀같은 스프레드쉬트 프로그램에서 읽어들일 수 있습니다.
blog.naver.com/PostView.nhn?blogId=peerpeak&logNo=110066510259