如何在Windows上以编程方式和等效方式查询proc文件系统?

时间:2015-07-06 14:56:22

标签: c++ linux windows posix

我正在开发一个实现,我需要存储在hashmap中访问的每个函数的入口点。为了创建一个有效的哈希函数,我需要知道程序已经加载到内存中时的最小和最大可能函数入口点。

以编程方式(可能在Windows和Linux上)执行此操作的理想方式是,程序可以确定已加载到内存中的最小和最大函数入口点。

我在想,我可能应该查询进程的加载地址并确定进程大小,但是在第二步,进程大小可能包括堆栈和堆大小,这对我来说毫无意义。

我正在寻找的可能是/proc/<processid>/maps,所以对于linux来说问题可能是,如何以编程方式查询proc文件系统以及windows的等效方法是什么?

1 个答案:

答案 0 :(得分:0)

我不知道如何在Windows上访问此信息,但在Linux上我从Display.DisplayInformation.autoRotationPreferences = Display.DisplayOrientations.landscape; 看到以下内容:

man proc

你打开文件,你解析它(可能使用fscanf),你用&#39; x&#39;许可可能也没有w / o&#39;)。这些是可以找到功能的地址。