我正在开发一个实现,我需要存储在hashmap中访问的每个函数的入口点。为了创建一个有效的哈希函数,我需要知道程序已经加载到内存中时的最小和最大可能函数入口点。
以编程方式(可能在Windows和Linux上)执行此操作的理想方式是,程序可以确定已加载到内存中的最小和最大函数入口点。
我在想,我可能应该查询进程的加载地址并确定进程大小,但是在第二步,进程大小可能包括堆栈和堆大小,这对我来说毫无意义。
我正在寻找的可能是/proc/<processid>/maps
,所以对于linux来说问题可能是,如何以编程方式查询proc文件系统以及windows的等效方法是什么?
答案 0 :(得分:0)
我不知道如何在Windows上访问此信息,但在Linux上我从Display.DisplayInformation.autoRotationPreferences = Display.DisplayOrientations.landscape;
看到以下内容:
man proc
你打开文件,你解析它(可能使用fscanf),你用&#39; x&#39;许可可能也没有w / o&#39;)。这些是可以找到功能的地址。