c++ - 如何使 C++ EXE 更大(人工)

标签 c++ winapi executable crt

我想制作一个比应有的大得多的虚拟 Win32 EXE 文件。所以默认情况下,样板 Win32 EXE 文件为 80 KB。我想要一个 5 MB 的空间来测试其他一些实用程序。

第一个想法是添加资源,但事实证明,在内存分配方面,嵌入式资源与 5 MB 代码不同。我在想我可以引用一个大型库并最终得到一个巨大的 EXE 文件?如果不是,也许编写几千个类似的方法,如 AddNum1、AddNum2 等?

非常感谢任何简单的想法。

最佳答案

简单地定义一个大的静态字符数组怎么样?

char const bigarray[5*1024*1024] = { 1 };

另请参阅我在此线程中的其他答案,我建议静态链接到大型库。如果你只引用足够多的库代码,这肯定会引入真正的代码。

编辑:添加了非零初始化,因为编译器/链接器以优化方式处理仅包含零的数据。

编辑:添加了对我其他答案的引用。

编辑:添加了 const 限定符,因此 bigarray 将被许多编译器放置在代码中。

关于c++ - 如何使 C++ EXE 更大(人工),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3840374/

相关文章:

executable - DOS如何将程序加载到内存中?

c++ - c++中分号前只有一个整数的一行代码

c++ - 为什么异常不退出程序?

c++ - 在 native Win32 GDI 中绘制稍微透明的蓝色矩形

c++ - directx 9 SetTime 不是成员 c++

java - 如何读取Java中exec进程的输出?

java - 无法从Java程序中调用外部可执行文件令人困惑

c++ - 未定义引用

c++ - 使用 vector 迭代地创建集合的子集

delphi - 关闭应用实例但不关闭当前实例