Vala 上系统的位数
Bitness of the system on Vala
至于Vala语言跨平台知道系统的位数吗?
sizeof(void*)
对于 64 位系统为 8,对于 32 位系统为 4。另外,2 个用于 16 位系统,但我什至不知道 glib 可以在那里工作。
GLib 的全部意义在于避免必须执行特定于平台的代码。
但是根据你的评论,你想做一些事情,比如下载平台特定的包。
首先,最好使用系统或用户包管理器来执行此操作,因为他们已经知道如何实现 (DRY principle)。
如果绝对必要,您还可以使用 lsb-release -a
或更通用的 uname -a
(用于内核和 arch)或这些工具的其他一些参数。
您可以使用 GLibs 进程生成工具调用它们。
另请参阅:
How to determine whether a given Linux is 32 bit or 64 bit?
一个相关的问题是OS检测:
此外,由于 Vala 是一种编译语言,您可以使用您最喜欢的构建系统将 -DPlatformx64
或 -DPlatformx86
之类的内容传递给 Vala 编译器(参见上面的 link OS 检测有关如何在 Vala 代码中使用预处理器的示例。
至于Vala语言跨平台知道系统的位数吗?
sizeof(void*)
对于 64 位系统为 8,对于 32 位系统为 4。另外,2 个用于 16 位系统,但我什至不知道 glib 可以在那里工作。
GLib 的全部意义在于避免必须执行特定于平台的代码。
但是根据你的评论,你想做一些事情,比如下载平台特定的包。
首先,最好使用系统或用户包管理器来执行此操作,因为他们已经知道如何实现 (DRY principle)。
如果绝对必要,您还可以使用 lsb-release -a
或更通用的 uname -a
(用于内核和 arch)或这些工具的其他一些参数。
您可以使用 GLibs 进程生成工具调用它们。
另请参阅:
How to determine whether a given Linux is 32 bit or 64 bit?
一个相关的问题是OS检测:
此外,由于 Vala 是一种编译语言,您可以使用您最喜欢的构建系统将 -DPlatformx64
或 -DPlatformx86
之类的内容传递给 Vala 编译器(参见上面的 link OS 检测有关如何在 Vala 代码中使用预处理器的示例。