簡體   English   中英

提升線程和UPX壓縮==無效的win32應用程序?

[英]Boost thread and UPX compression == not valid win32 application?

我什么時候宣布

boost::thread t1, t2;

在我的程序中然后使用UPX壓縮.exe文件,壓縮成功。 但是當我嘗試啟動壓縮的exe時,Windows告訴我它是“無效的win32應用程序”。

UPX有一個錯誤報告( 類似的錯誤 ),但它有不同的錯誤消息( “應用程序無法正確初始化(0xc0000005)” )。

在我的情況下,操作系統認為文件已損壞或其他東西,所以它甚至無法啟動顯示錯誤! 為什么??

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

奇怪的消息:

  1. 解包exe會使損壞的exe拋出與此處完全相同的錯誤。 “應用程序無法正確初始化(0xc0000005)” )這是針對解壓縮的exe,而不是在bug報告中打包。

  2. 在包含boost的線程頭之前, extern "C" void tss_cleanup_implemented(void) {}無關緊要。 結果是一樣的。

main.cpp中:

#include <boost/thread.hpp>

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

可能有人會嘗試編譯和壓縮?

Bug在新版本3.08中得到修復。 現在好了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM