代码之家  ›  专栏  ›  技术社区  ›  Nathan

为什么在python中导入.so文件时会有一个小的endian错误?

  •  1
  • Nathan  · 技术社区  · 15 年前

    我尝试使用Python的一个C++扩展名为pySNdObj.在网上发现了一个我从未见过的错误,也找不到任何相关信息:(

    importerror:/home/nhnifong/sndobj-2.6.6/python//u sndobj.so:elf文件数据编码不是little endian

    我知道这可能意味着字节顺序是向后的,所以我尝试编写一个小脚本,一次读取文件2个字节,并在将它们写出来之前切换它们的顺序。它不起作用。

    有人知道该怎么做吗?

    1 回复  |  直到 15 年前
        1
  •  4
  •   Jonathan Feinberg    15 年前

    您必须自己从源代码构建扩展。

    您尝试“反转字节”是有效的,但是只有elf文件的某些部分具有面向字(而不是面向字节)的数据。

    此外,所讨论的dll不太可能是为系统的CPU体系结构编译的。