Platform
-
명령행 인자 파싱 - FLEXPlatform/Environment 2009. 7. 24. 00:45
%{ unsigned verbose; unsigned fname; char *progName; int myinput(char *buf, int max); #undef YY_INPUT #define YY_INPUT(buf,result,max) (result = myinput(buf,max)) %} %s FNAME // %x ? %% [ ]+ /* ignore blanks */ ; [ ]+ /* ignore blanks */ ; -h | "-?" | -help { printf("usage is: %s [-help | -h | -? ] [-verbose | -v]" " [(-file| -f) filename]\n", progName); } -v | -verbose { printf("verbose mode is..
-
-
시리얼 포트 - Win32Platform/File(장치 IO) 2009. 5. 18. 17:03
CreateFile() CloseHandle() GetCommState() SetCommState() SetCommTimeouts() WriteFile() HWND hWndCopy; // 스레드를 위한 핸들의 카피 HANDLE hFile; // 파일 핸들 int g_nSwitch; // 읽어오기 전용 스레드 DWORD RecvData( VOID * dummy ) { DWORD dwByte; char szRecv[10]; int nRet; while (g_nSwitch) { // 한 문자 수신 nRet = ReadFile(hFile, szRecv, 1, &dwByte, 0); // ReadFile()은 성공하면 0이외를 반환, 타임아웃도 성공 if (dwByte == 1) { SetWindowText(hW..
-
select() - IO 멀티플렉싱(Win32)Platform/소켓 2009. 5. 11. 16:43
// // Allocated for each socket handle // typedef struct _SOCKET_OBJ { SOCKET s; // Socket handle int listening; // Socket is a listening socket (TCP) int closing; // Indicates whether the connection is closing SOCKADDR_STORAGE addr; // Used for client's remote address int addrlen; // Length of the address BUFFER_OBJ *pending, // List of pending buffers to be sent *pendingtail; // Last entry in ..
-
DLL - MFCPlatform/메모리 2009. 5. 2. 14:36
DLL 찾는 순서 DLL을 호출한 EXE 파일이 있는 디렉토리 프로세스의 현재 디렉토리 윈도우 시스템 디렉토리 윈도우 디렉토리 PATH 환경 변수에 지정된 디렉토리 extern "C" __declspec(dllexport) extern "C" __declspec(dllimport) LoadLibrary() FreeLibrary() GetProcAddress() GetModuleHandle() AfxSetResourceHandle() AfxGetResourceHandle() AFX_MANAGE_STATE(AfxGetStaticModuleState()) MFC 라이브러리를 DLL로 링크하는 일반 DLL의 경우 DLL의 리소스가 올바로 참조되도록 한다. AfxGetAppModuleState() 일반 DLL 외..
-
TLS - Win32Platform/메모리 2009. 5. 1. 23:16
TLS TlsAlloc() 새로운 TLS 슬롯(?)을 할당 스레드 별로 해당 슬롯에 ULONG_PTR 크기의 공간(로컬 저장소)을 사용할 수 있다. TlsFree() TLS 슬롯을 해제 TlsSetValue() 호출한 스레드 로컬 저장소의 지정된 슬롯에 값을 설정 TlsGetValue() 호출한 스레드 로컬 저장소의 지정된 슬롯에서 값을 가져온다. _declspec(thread) 동적으로 로드되는 DLL에는 사용할 수 없다. 참조 사이트: http://support.microsoft.com/kb/94804/ko http://www.debuglab.com/knowledge/tls.html http://www.redwiki.net/wiki/wiki.php/Thread%20Local%20Storage
-
Completion Port(Overlapped) - Win32Platform/소켓 2009. 4. 21. 22:04
CreateIoCompletionPort() PostQueuedCompletionStatus() GetQueuedCompletionStatus() WSAGetOverlappedResult() BindIoCompletionCallback() // Windows 2000 #define MAX_COMPLETION_THREAD_COUNT 32 // Maximum number of completion threads allowed // // Function: HandleIo // // Description: // This function handles the IO on a socket. In the event of a receive, the // completed receive is posted again. For..