-1

int32_t当你想使用or时,为什么 gcc48 和 clang 之间有不同的包含memcpy

当使用 gcc 时,在你 include 之后<iostream>,你还应该包括<stdint.h>and<string.h>用于使用int32tandmemcopy

使用 clang 时,只需要 include <iostream>,就可以自由使用int32tand memcopy,stdint.h 和 string.h 自动包含。

这是为什么?我可以将 clang 作为 gcc 行为运行吗?

我使用 Mac 操作系统。

4

1 回答 1

1

可能那是因为 clang 的标准库碰巧包含<stdint.h>并且<string.h>已经包含在<iostream>它自己的私人原因中;这不能保证,而且如您所见,您gcc的标准库不能那样工作。

不要依赖这种行为;无论这些巧合如何,始终包含所需的文件。

于 2013-10-18T03:04:02.593 回答