确定Linux内核中进程的地址大小(x86_64)

时间:2015-02-04 17:14:39

标签: c linux-kernel

我必须使用x86_64上Linux内核中32位和64位进程的地址大小。我正在使用的处理此问题的可能性是检查特定于任务的标志。但我想知道是否有更简单的方法来确定流程的地址大小。

那么,在Linux内核中检索进程的地址大小的最恰当和最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

打开/proc/self/maps并解析[vsyscall]条目。 64位进程将具有64位地址,例如:

ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

32位进程不会。我手边没有32位进程来提供示例,但它没有64位地址。