You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++Builder 11.3 64位程序远大于32位是否正常?原因何在?

64位C++Builder编译程序体积过大问题排查

我使用C++Builder 11.3(FireDAC/SQLite)开发应用,32位版本编译后体积约为18MB,而64位版本达350MB。

已做的编译配置:

  • 32位和64位编译均禁用运行时包链接:Packages -> Runtime packages -> Link with runtime packages: [ ] false
  • Release配置禁用动态RTL链接,Debug配置启用,但修改该设置并未改变程序体积:
    • Release配置(所有平台):Building -> C++ linker -> Link with dynamic RTL [ ] false
    • Debug配置(所有平台):Building -> C++ linker -> Link with dynamic RTL [x] true

尝试过优化以生成最小体积代码,但仅使体积略有减小。

请问是什么原因导致64位版本体积过大?这种情况是否正常?


64位Release版本map文件内容

Start Length Name Class
 0001:00401000 000BAB270H _TEXT                  CODE
 0002:00FAD000 000754A70H _RODATA                RODATA
 0003:01702000 0000614D0H _DATA                  DATA
 0004:017634D0 000049870H _BSS                   BSS
 0005:00000000 000000BB0H _TLS                   TLS
 0006:017AE000 013FD46CCH _PDATA                 PDATA
 0007:15783000 000183620H _XDATA                 XDATA
 0008:15907000 000000000H _DEBUG_ARANGES         DEBUG_ARANGES
 0009:15907000 000000000H _DEBUG_MACINFO         DEBUG_MACINFO
 0010:15907000 000000000H _DEBUG_PUBTYPES        DEBUG_PUBTYPES
 0011:15907000 000000000H _DEBUG_INFO            DEBUG_INFO
 0012:15907000 000000000H _DEBUG_ABBREV          DEBUG_ABBREV
 0013:15907000 000000000H _DEBUG_LINE            DEBUG_LINE
 0014:15907000 000000000H _DEBUG_ADDR            DEBUG_ADDR
 0015:15907000 000000000H _DEBUG_STR             DEBUG_STR
 0016:15907000 000000000H _DEBUG_LOC             DEBUG_LOC
 0017:15907000 000000000H _DEBUG_RANGES          DEBUG_RANGES

32位Release版本map文件内容

Start Length Name Class
 0001:00401000 000B8DA00H _TEXT                  CODE
 0002:00F8F000 0001D5FB0H _DATA                  DATA
 0003:01164FB0 00002B43CH _BSS                   BSS
 0004:00000000 000000534H _TLS                   TLS

补充说明

查看文件偏移量0x17AE000处的内容,发现大量重复的表格数据,占据了程序的大部分体积:

17A:DFC0h: –^.€—^.<«G.–^.  90 96 5E 00 80 97 5E 00 3C AB 47 15 90 96 5E 00 
17A:DFD0h: €—^.<«G.–^.€—^.  80 97 5E 00 3C AB 47 15 90 96 5E 00 80 97 5E 00 
17A:DFE0h: <«G.–^.€—^.<«G.  3C AB 47 15 90 96 5E 00 80 97 5E 00 3C AB 47 15 
17A:DFF0h: –^.€—^.<«G.–^.  90 96 5E 00 80 97 5E 00 3C AB 47 15 90 96 5E 00 
17A:E000h: €—^.<«G.–^.€—^.  80 97 5E 00 3C AB 47 15 90 96 5E 00 80 97 5E 00 
17A:E010h: <«G.–^.€—^.<«G.  3C AB 47 15 90 96 5E 00 80 97 5E 00 3C AB 47 15 
17A:E020h: –^.€—^.<«G.–^.  90 96 5E 00 80 97 5E 00 3C AB 47 15 90 96 5E 00 
17A:E030h: €—^.<«G.–^.€—^.  80 97 5E 00 3C AB 47 15 90 96 5E 00 80 97 5E 00 
17A:E040h: <«G.–^.€—^.<«G.  3C AB 47 15 90 96 5E 00 80 97 5E 00 3C AB 47 15 
17A:E050h: –^.€—^.<«G.–^.  90 96 5E 00 80 97 5E 00 3C AB 47 15 90 96 5E 00 

内容的提问来源于stack exchange,提问作者user3161924

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:42:34