我正在寻找在代码段大小创建的方法应该是16 MB(c ++字节代码大小是16 MB)
答案 0 :(得分:5)
在函数中复制并粘贴__asm {}中的16MB nop指令。并且不要使用该功能。每个nop必须是1字节。那你就有了。然后,您将需要动态代码更改机制。
您将1 nop复制到2 nops。然后将2个nops复制到4个nops中。直到你这样做24次(24位等于1600万不同,我是对的吗?)
我忘了告诉你需要禁用一些优化。或者你可以使用数字火星关闭所有优化。
建议您在单独的文件中执行此操作。(可能包含)
如果您希望链接更快,则应将其与16字节对齐。
main_program.cpp的样本
#include<your_16MB_nop>
#include<....
....
int main(){/* whatever here */}
your_16MB_nop的样本
void func_never_used_directly()
{
__asm
{
nop
nop
nop
... 16million times(just copy and paste each last block for 24 times)
nop
}
}