如何创建代码段大小应该是16 MB(字节代码)大小的c ++程序

时间:2012-08-08 13:23:40

标签: c++ c

我正在寻找在代码段大小创建的方法应该是16 MB(c ++字节代码大小是16 MB)

1 个答案:

答案 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 
         }
 }