我必须使用x86_64上Linux内核中32位和64位进程的地址大小。我正在使用的处理此问题的可能性是检查特定于任务的标志。但我想知道是否有更简单的方法来确定流程的地址大小。
那么,在Linux内核中检索进程的地址大小的最恰当和最简单的方法是什么?
答案 0 :(得分:1)
打开/proc/self/maps
并解析[vsyscall]
条目。 64位进程将具有64位地址,例如:
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
32位进程不会。我手边没有32位进程来提供示例,但它没有64位地址。