gpt4 book ai didi

c++ - Boost 线程和 UPX 压缩 == 不是有效的 win32 应用程序?

转载 作者:可可西里 更新时间:2023-11-01 18:39:45 26 4
gpt4 key购买 nike

当我刚刚声明的时候

boost::thread t1, t2;

在我的程序中,然后用UPX压缩.exe文件,压缩成功。但是当我尝试启动压缩的 exe 时,Windows 告诉我它是“无效的 win32 应用程序”。

有一个 UPX 错误报告 ( similar bug),但它有不同的错误消息(“应用程序无法正确初始化 (0xc0000005)”)。

在我的例子中,操作系统认为文件已损坏或其他原因,所以它甚至无法启动并显示错误!为什么??

Win7x64、C++、VisualStudio、boost 1.47、UPX3.07

奇怪的消息:

  1. 解压 exe 使抛出错误的损坏 exe 完全相同作为here . (“应用程序未能正确初始化(0xc0000005)") 这是解压后的 exe,不像 bug 中那样打包报告。

  2. extern "C"void tss_cleanup_implemented(void) {} 在包含 boost 的线程头之前无关紧要。这 结果是一样的。

主要.cpp:

#include <boost/thread.hpp>

int main(int argc, char** argv)
{
boost::thread t;
return 0;
}

可能有人会尝试编译和压缩?

最佳答案

Bug在新版本3.08中修复。现在好了。

关于c++ - Boost 线程和 UPX 压缩 == 不是有效的 win32 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8261631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com