Vala上的系统比特

时间:2018-03-11 23:00:43

标签: 32bit-64bit vala

至于Vala语言的跨平台知道系统的位数吗?

2 个答案:

答案 0 :(得分:2)

sizeof(void*)对于64位系统为8,对于32位系统为4。此外,2位用于16位系统,但我甚至不知道glib会在那里工作。

答案 1 :(得分:0)

GLib的重点是避免必须执行特定于平台的代码。

但是根据您的评论,您希望执行类似下载平台特定包的操作。

首先,最好使用系统或用户包管理器来实现这一点,因为他们已经知道如何实现这一点(DRY principle)。

如果你绝对必须,你也可以使用像lsb-release -a这样的工具或更普遍的uname -a(用于内核和拱门)或这些工具的其他参数。

您可以使用GLibs流程生成设施调用它们。

另见:

How to determine whether a given Linux is 32 bit or 64 bit?

相关的问题是操作系统检测:

Is OS detection possible with GLib?

此外,由于Vala是一种编译语言,您可以使用自己喜欢的构建系统将类似-DPlatformx64-DPlatformx86的内容传递给Vala编译器(有关如何操作,请参阅上面的操作系统检测链接)在Vala代码中使用预处理器。)