我知道存在以下数据模型:
http://www.unix.org/whitepapers/64bit.html
Linux内核的64位版本使用LP64数据模型(http://www.unix.org/version2/whatsnew/lp64_wp.html)。
更新
C++ 03 Standard $ 5.3.3 / 1
因此,真正的问题是:
编译器(例如gcc)是否考虑到操作系统(例如linux)选择的数据模型?
最佳答案
编译器针对特定目标进行编译。有些编译器只有一个目标或一组非常有限的目标。由于您要求提供gcc作为示例,因此查看它们的文档会发现 Machine Descriptions
和 Target Files
的格式。
Their documentation mentions
因此,请确保检查gcc -v
或gcc -dumpmachine
的输出以查看默认目标是什么。
关于c++ - Linux数据模型和原始类型的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46589959/