据我了解,C99中定义了新类型,例如uint32_t
,uint_fast64_t
等。但是,我注意到它们也在 中定义,并且从gnu.org我发现它是检查的众多标头之一,但仅在其他网站中被引用。uintmax_t
<stdint.h>
stdlib.h
<stdint.h>
如果我使用这些类型,包括 only <stdlib.h>
,它们在我的实现中定义,我的程序是否可以移植到其他平台,或者它不能工作,因为在另一台计算机中它们只定义在 中<stdint.h>
?
我的猜测是,如果我从我的计算机为每个架构/操作系统编译程序,不会有任何问题,但是编译可能会从另一个失败,因为在那个特定的实现中,新类型只在另一个头文件中定义。