2011-08-09 5 views
-2

내 프로그램이 C로 작성되었습니다. winnt.h 라이브러리를 사용하고 싶지만 더 이상 Windows를 사용하지 않습니다.Linux에서 winnt.h를 사용할 수 있습니까?

+0

사실 확인 : – Cynede

+1

Linux에서 Windows 기능을 원하십니까? 그건 상향식 레스토랑에 가서 맥도날드에서 주문할 수 있는지 묻는 것과 같습니다. –

+0

이제 창을 사용하지 않습니다. – 6LYTH3

답변

5

아니, 물론 당신은 할 수 있지만, 어떤 좋은 일을 없을거야 - 그냥 ...

8

이상한 질문처럼 보인다 창에있는 libs와에 정의 된 함수를 선언 the.h 파일을; winnt.h에서 실제로 필요한 기능을 명확히해야 리눅스와 비슷한 것을 배울 수 있습니다. winnt.h는 실제로 범용 "라이브러리"가 아니며 Windows 전용 함수로 작성된 인터페이스 일뿐입니다.

중요한주의 사항으로, Wine을 사용하여 앱을 실행하려고하면 원하는 정도를 얻을 수 있습니다. http://www.winehq.org/을 참조하십시오. 기존 앱을 실행하려는 경우 합당한 해결책 일 수 있습니다. 하지만 리눅스 버전의 앱을 만들려고한다면, 그다지 도움이되지 않습니다.

0

winnt.h의 어떤 부분을 사용하기를 원하십니까? 물론, 멋진 매크로 나 타입 정의가 필요하다면, 당신은 자신의 헤더 파일에 자유롭게 복사 할 수 있습니다 (물론 의존성을 가지고). 그러나 리눅스 환경에서 프로그램에 모두 winnt.h 파일을 포함 시키면 많은 오류 메시지가 나타납니다. 그것의 이유 중 하나는 Martin Beckett 그의 대답에 의해 발음됩니다.

1

아니요.

winnt.h에는 Windows 환경에 의존하는 많은 매크로와 Windows 관련 라이브러리에만있는 많은 함수 선언이 포함되어 있습니다. 따라서 리눅스에서는 winnt.h을 사용하는 것이 유용하지는 않습니다. 말했다

, 당신은 그 Windows 특정 헤더에 의해 노출 된 대부분의 기능을 포함 Winelib를 사용할 수 있으며, Winelib와 프로그램을 연결하여 이러한 기능을 얻을 수 있습니다. Winelib은 상대적으로 불안정하기 때문에 (일반적으로 특정 API 함수의 기능이 없거나 불완전하거나 버그가 있거나 기본 Windows 버전과 호환되지 않을 수 있기 때문에) 일반적으로 이는 좋은 생각이 아닙니다. 당신이 필요로하는 것에 대한 리눅스 고유의 대안을 찾는 것이 훨씬 더 좋은 생각이다.

관련 문제