相关疑难解决方法(0)

机器类型(C++ librairies):i386 vs x86_64

我对不同的机器架构(32位,64位,......)了解甚少.正因为如此,我经常在不同的机器上使用C++库时遇到困难,因为它们被困在"令人讨厌的"未定义的架构符号......".

如果有人可以向我解释为什么当我在同一台机器上使用以下命令(一个2年前使用山狮操作系统的mac)时,我会很高兴为什么会得到这样令人困惑的答案.该man uname指示

-m打印机器硬件名称.

-p打印机器处理器体系结构名称.

  • 初看起来,我会说-p更相关.所以我跑了uname -p,我得到:

i386(这意味着32位如果我没有错).

  • 但是对于我在同一台机器上编译的库,运行lipo -info lib_test.a返回:

输入文件lib_test.a不是胖文件

非胖文件:lib_test.a是架构:x86_64(这意味着64位如果我没有错)

  • 后者然而,随着回归更加连贯uname -m

x86_64的

c++ linux macos 32bit-64bit

5
推荐指数
1
解决办法
652
查看次数

标签 统计

32bit-64bit ×1

c++ ×1

linux ×1

macos ×1