문제

놀랍게도 나는 C99 stdint.h가 MS Visual Studio 2003에서 상향에서 누락 된 것을 발견했습니다. 나는 그들이 그들의 이유가 있다고 확신하지만, 내가 사본을 다운로드 할 수있는 곳을 아는 사람이 있습니까? 이 헤더가 없으면 uint32_t 등과 같은 유용한 유형에 대한 정의가 없습니다.

도움이 되었습니까?

해결책

이 헤더의 MS 버전을 다음에서 다운로드 할 수 있습니다.

https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h

휴대용은 여기에서 찾을 수 있습니다.

http://www.azillionmonkeys.com/qed/pstdint.h

감사합니다 소프트웨어 램 블링S 블로그.

다른 팁

직접 정의하십시오.

#ifdef _MSC_VER

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;

#else
#include <stdint.h>
#endif

업데이트: Visual Studio 2010 그리고 Visual C ++ 2010 Express 둘 다 가지고 있습니다 stdint.h. 찾을 수 있습니다 C:\Program Files\Microsoft Visual Studio 10.0\VC\include

Visual Studio 2003-2008 (Visual C ++ 7.1-9) C99 호환이라고 주장하지 마십시오. (그의 의견에 대해 Rdentato에게 감사합니다.)

Boost는 원하는 유형의 cstdint.hpp 헤더 파일을 포함합니다. http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp

Microsoft는 C99를 지원하지 않으며 계획을 발표하지 않았습니다. 나는 그들이 C ++ 표준을 추적하려고한다고 생각하지만 C는 C ++의 하위 집합을 제외하고는 효과적으로 쓸모없는 것으로 간주합니다.

Visual Studio 2003 이상의 새로운 프로젝트에는 기본적으로 "C ++ 코드 (/TP)로 컴파일"옵션이 설정되어 있으므로 .C 파일은 C ++로 컴파일됩니다.

또 다른 휴대용 솔루션 :

POSH : 휴대용 오픈 소스 하네스

"Posh는 간단하고 휴대하기 쉽고 사용하기 쉽고 통합하기 쉽고 유연한 오픈 소스"하네스 "로 크로스 플랫폼 라이브러리 및 응용 프로그램을 작성하고 포트가 덜 지루하게 만들도록 설계되었습니다."

http://poshlib.hookatooka.com/poshlib/trac.cgi

이 책에서 설명하고 사용 된대로 : 쓰기 휴대용 코드 : Brian Hook의 여러 플랫폼을위한 소프트웨어 개발 소개http://books.google.ca/books?id=4vokceappo0c

-제이슨

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top