Language & DB/C++
-
IPC - PIPELanguage & DB/C++ 2019. 10. 12. 09:58
IPC 프로세스는 독립적인 실행객체이다. 이러한 점으로 인해 다른프로세스와 서로 영향을 주고 받지 않는 장점이 존재한다. 하지만 프로세스간의 정보공유가 필요할 경우에는 얘기가 달라진다. 이때 프로세스간의 통신이 필요한 경우가 존재하기에 커널에서는 내부 프로세스간 통신 Inter Process Communication을 제공하여 프로세스간에 통신이 가능하게된다. IPC 설비 종류 1. Anonymous PIPE 서로 어떤 프로세스를 연결할 것인지 명확한 경우 사용할 수 있다. ( 부모-자식 ) 서로 PIPE 연결 된 두 프로세스에서 하나의 프로세스는 읽기 다른 하나는 쓰기만 단순수행할 수 있는 파이프로서 Half-Duplex(반이중) 통신이라고도 불린다. 위처럼 단방향 통신이 아닌 양방향 통신을 원할경우 ..
-
CreateProcessLanguage & DB/C++ 2019. 10. 12. 08:29
전처리 단 #include #define DIR_LEN MAX_PATH+1 // MAX_PATH, windef.h에 선언되어 있음. 윈도우에서 허용하는 완전경로의 최대 길이 코드 단 STARTUPINFO si={0, }; // 선언과 동시에 초기화. CreateProcess 함수의 9번째 인자요소. 프로세스의 속성을 지정 // 0으로 초기화 해야함. PROCESS_INFORMATION pi; // PROCESS_INFORMATION 구조체 변수는 새로 생성되는 프로세스 관련 정보를 얻기 위해 사용 TCHAR command[]=_T("AdderProcess.exe 10 20"); // 실행 파일의 이름과 함께 전달할 인자 TCHAR cDir[DIR_LEN]; // 디렉토리 정보가 저장될 버퍼 포인터 Get..