首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使C++ EXE更大(人工)

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

Stack Overflow用户
提问于 2010-10-01 23:00:36
回答 17查看 5.6K关注 0票数 17

我想做一个虚拟的Win32 EXE文件,它比它应该是大得多。因此,默认情况下,样板Win32可执行文件的大小为80KB。我想要一个5MB的,用于测试其他一些实用程序。

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

任何简单的想法都是非常受欢迎的。

EN

回答 17

Stack Overflow用户

发布于 2010-10-01 23:02:25

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

代码语言:javascript
复制
char const bigarray[5*1024*1024] = { 1 };

另请参阅我在这个帖子中的另一个答案,我建议静态链接到大型库。如果你引用足够多的库代码,这肯定会引入真正的代码。

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

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

EDIT:增加了const限定符,所以bigarray会被很多编译器放在代码中。

票数 18
EN

Stack Overflow用户

发布于 2010-10-01 23:10:45

代码语言:javascript
复制
char big[5*1024*1024] = {1};

您需要将其初始化为非0的值,否则编译器/链接器可能会对其进行优化。

票数 9
EN

Stack Overflow用户

发布于 2010-10-01 23:45:02

如果这是您想要增加的文件大小,则将一个文本文件附加到所需大小的exe文件的末尾。

我过去常常在客户抱怨小前任的时候这样做。他们没有意识到小前任和大前任一样专业。事实上,在一些语言中有一个bloat()命令来增加exe的大小,通常在BASIC编译器中。

编辑:找到人们使用的一段代码的旧链接:http://www.purebasic.fr/english/viewtopic.php?f=12&t=38994

一个例子:https://softwareengineering.stackexchange.com/questions/2051/what-is-the-craziest-stupidest-silliest-thing-a-client-boss-asked-you-to-do/2698#2698

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3840374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档