簡體   English   中英

WebKit,npapi和mingw-w64

[英]WebKit and npapi and mingw-w64

問題如下:在Windows x64上,指針是64位的,但long類型是32位。 MSVC似乎並不在乎,甚至忽略了默認警告級別上有關指針截斷的警告。 最近以來,有一個針對x86_64的-W64-mingw32的,或更好的本機Windows x64的一個GCC。 當指針被截斷時,GCC會產生錯誤(這是合乎邏輯的事情...),這在WebKit尤其是Netscape插件API中造成了麻煩:首先,有文件(我只能發布一個超鏈接。 ):
http://trac.webkit.org/browser/trunk/WebCore/
bridge / npapi.h->將uint32定義為32位int類型(〜第145行)
plugins / win / PluginViewWin.cpp->將Windows窗口句柄轉換為32位int,將其截斷(〜第450行)

我建議的解決方法是將uint32強制類型轉換為uintptr_t,這使GCC滿意,但仍將64位值放入uint32中(= unsigned long)。 我不知道如何解決這個問題,因為顯然WebKit很高興在Win64上截斷指針...

我該如何正確解決呢? 謝謝!

對於任何感興趣的人,我已將uint32 lparam(wparam)更改為uintptr_t。 它是僅在Windows中可見的Cange,它肯定是正確的修復恕我直言。

暫無
暫無

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

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