【发布时间】:2016-11-01 10:56:42
【问题描述】:
听起来像一个愚蠢的问题,但我不知道该怎么问:我正在尝试制作一个 python 库来测试CPUID 代码并返回结果,这恰好适用于 linux 和 windows .我能想到有效地执行 CPUID 的唯一方法是在汇编程序中对其进行编程,因此,话虽如此,是否有一种方法可以测试在独立于操作系统的机器上运行的程序的成功或失败并将其构建成python extensible library 或者,更确切地说,一种构建独立于操作系统的 python 库的方法?
Python 文档并不清楚这应该/将如何工作。我需要制作两个库,一个windows和一个linux(我只是为了效率而尝试一个)?
【问题讨论】:
-
也许使用inline assembler?
-
Can't,问题是 Windows 为其编译器使用专有语言。我需要 windows 库,但我对 windows 程序集了解不多,无法做到这一点。 (注意内联位于 Visual Studio '15 标题下)
-
@Fred Larson 只需要一些关于交叉编译的帮助/知识/启示
-
您需要为 Windows 和 Linux 制作单独的 Python 扩展模块。但是,您可以从相同的源构建它们。我会对源代码进行条件化(例如使用
#ifdef),以便在Windows 上使用__cpuid内在函数和Visual C++ 编译器,以及在Linux 上使用GCC 或Clang 的GNU 样式内联汇编器。 -
@RossRidge 好吧,我担心这就是答案(悲伤的熊猫)。代码已经为此编写了。谢谢你:)