MinGW로 시스템 프로그래밍 할때 어떻게 하는지....
글쓴이: korisaram / 작성시간: 목, 2006/02/02 - 11:23오전
c언어를 사용하고 컴파일러가 MinGW인데요( devc++를 이용)
제가 궁금한것은 쓰레드를 이용할때는 어떻게 사용하는지 모르겠습니다. visual studio에서는 multi threading dll 선택하고 #include <process.h> #include <windows.h> _beginthreadx 함수를 이용해서 쓰레드 안전한 함수들을 사용하는데요. MingGW는 gcc를 포터한거라서 posix 쓰레드를 사용하는건지? 아님 윈도프로그래밍 처럼 _beginthreadx를 사용하는건지 _beginthreadx사용한다면 multi threading dll을 어떻게 선택하는지를 모르겠습니다.
c로 tcp/ip로 서버/클라이언트만들때도 MinGW사용하면 유닉스방식으로 서버/클라이언트를 만들수가 있나요? 아 fork,pipe등은 물론 윈도에서 안되겠지만 ...
예를 들어 윈도는 #include <winsock2.h>를 이용하고 WSA로 시작하는 함수들 사용하는데 MinGW는 유닉스 스타일로 가능한건지 아님 윈도스타일로 하는건지 이것도 잘 모르겠습니다.
Forums:
일단 정확한 답변은 아닙니다만 도움이 되면 좋겠습니다.리눅스에서
일단 정확한 답변은 아닙니다만 도움이 되면 좋겠습니다.
리눅스에서 멀티 쓰레드 프로그래밍은 다음과 같이 하면 됩니다.
1. pthread_xxx 계열의 함수를 사용
2. 컴파일할 때 _REENTRANT를 정의하면 VC에서 MultiThread dll을 지정해준것 같이 컴파일되는 것으로 알고 있습니다.
mingw 위키페이지를 참조하세요.FAQ 등을 참고하면 원하는 답을
mingw 위키페이지를 참조하세요.
FAQ 등을 참고하면 원하는 답을 얻을 수 있습니다.
http://www.mingw.org/MinGWiki/
폐인, 노가다 그 끝은..?
너무 IDE에 익숙해 지신 탓일듯..둘다 win32용 컴파일러와
너무 IDE에 익숙해 지신 탓일듯..
둘다 win32용 컴파일러와 관련라이브러리들을 내장 또는 가지고 있기 때문에..
당연히 _beginthread,CreateThread 쓸수 있습니다...
그리고 네트워크 프로그래밍 할때도 굳이 윈도우즈 소켓 래퍼함수를 사용하진 않아도 되고,유닉스에서처럼과 거의 흡사하게 만들수 있습니다.
얼른 MSDN 뒤적거려서 찾아보세요.
조언해 주신 분들 감사합니다.이제껏 minGW에서 ansi함수들만 사
조언해 주신 분들 감사합니다.
이제껏 minGW에서 ansi함수들만 사용하다 시스템 프로그래밍을 할려니깐 이게 유닉스방식인가? 윈도 방식인가? 많이 고민했는데 실마리가 보이네요.
댓글 달기