[Solved] Visual Studio에서는 unistd.h를 사용할수 없나요?
민서
질문 제목 :
Visual Studio에서는 unistd.h를 사용할 수 없나요?
unistd.h를 include 하는데 unistd.h는 존재하지 않음오류가 발생합니다.
질문 내용 :
리눅스 Grub에서 문제가 발생하여 오랜만에 Windows를 사용해보았습니다.
그런데 Visual Studio 2012에서 fork() 나 exec() 함수들을 사용하기 위해서 unistd.h를 include 하려하면
Cannot open source file unistd.h 라는 오류가 발생합니다.
윈도우는 POSIX를 따르지 않는다 라는 말을 어디선가 얼핏 들은것같은데, 그때문에 unistd.h가 없는건가요?
소스의 일부분을 발췌하자면,
#include unistd.h
...
main()
{
...
execl(C:\Python27\python.exe, C:\Python27\python.exe, readweb.py, http://127.0.0.1/index.php, NULL);
...
return 0;
}
이렇습니다.
컴파일러에서 발생한 오류는 아래와 같습니다.
IntelliSense: cannot open source file unistd.h
IntelliSense: identifier execl is undefined
Visual Studio에서는 원래 unistd.h를 제공하지 않는건가요?
-
가장
넵. winAPI를 일일이 찾아쓰려니 힘드네요 ;; 그럼 수고하세요!
-
갤원
원하시는 기능이 정확히 어떤건지는 모르겠지만, 프로세스를 생성하는 함수들은 다양하게 있습니다.
목적에 맞게 골라 쓰시면 될 것 같네요. ^^;;; -
빈길
아, CreateProcess라는 함수가 있더군요. 이걸로 어느정도 보완은 가능할걸로 보입니다.
답변 감사합니다 : ) -
봄나
exec() 함수들을 직접 구현해야 한다구요!? 아이고 맙소사...
-
뽀그리
해당함수는 유닉스에만 존재하는 함수입니다. (표준 함수/헤더가 아닙니다.)
윈도우에서는 WindowsAPI를 이용해서, 해당 부분을 구현하셔야 합니다.