Wie kann ich in Clang Debug -Informationen von meinem C ++ bis zur WebAssembly -Datei mit -O3 -Flag entfernen?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie kann ich in Clang Debug -Informationen von meinem C ++ bis zur WebAssembly -Datei mit -O3 -Flag entfernen?

by Anonymous » 23 Aug 2025, 23:18

Wenn ich ein einfaches Programm in C ++ mit Clang zusammenstelle (tatsächlich verwende ich Zick C ++, aber das verwendet Clang), kompile ich ein WASM -Programm, das 700 KB: < /p>
istzig c++ ./WebAssemblyCompilationTesting.cpp -o myoutput.wasm --target=wasm32-wasi -Wl,--no-entry -flto=thin -O3
< /code>
und ich inspiziere die WASM -Dateiabschnitte und ich erhalte: < /p>
.debug_loc
243 KiB
.debug_abbrev
23.7 KiB
.debug_info
231.5 KiB
.debug_str
46.6 KiB
.debug_line
180.9 KiB
.debug_pubnames
14.4 KiB
.debug_pubtypes
3.7 KiB
.debug_ranges
19.8 KiB
name
233 B
producers
148 B
target_features
148 B
< /code>
Ich kann nur die Dateigröße abrufen und die Debug -Abschnitte aus der Datei entfernen, die das Flag -OS -Flag verwenden, wodurch die Größe von 700 KB auf 300 Bytes fallen. Aber -0S ist ein Optimierungsflag, das -O3 überschreibt. Ich möchte die Debug -Informationen entfernen und die Optimierung -o2 oder -o3 behalten. Gibt es eine Möglichkeit, die Debug -Informationen mit -O2 oder -O3 zu entfernen? Es scheint nicht möglich zu sein.

Top