Meh*_*dad 5 c++ portable-executable visual-c++
我怎么能告诉静态的Visual C ++放置一个全局变量在内存中的一个给定的绝对地址,像什么__attribute__((at(address)))呢?
这是可以做到的,但我不相信有预定义的方法可以做到这一点,因此需要进行一些实验。尽管我认为如果您在用户代码执行开始时在运行时创建变量并没有多大好处。
因此,首先使用allocate MS特定说明符指定初始化变量的部分/段。然后在真实场景中启动您的应用程序,转储它或调试它并查看变量出现的位置。注意重新安置(有一些方法可以尝试强制不重新安置,但不能保证始终得到尊重)。另一种方法是在应用程序中使用一些代码(例如下面的代码)来查找您定义的部分的地址。
如果由于某种原因无法获得一致的行为,您可以使用此实用程序来操作目标文件的虚拟地址。总而言之,除了一路上的障碍,但总的来说,如果你有足够的毅力,我不明白为什么你不能让它适用于你的特定场景。