johnsonshu
V2EX  ›  问与答

[dec ecx] 这条指令被吃掉了?

  •  
  •   johnsonshu · Dec 27, 2019 · 1969 views
    This topic created in 2354 days ago, the information mentioned may be changed or developed.

    正在准备吧 gens 的 source 改到 x86_64 上面。 由于这里产生了 segment fault, 所以在用 gdb 调试。

    已经用 -O0 把优化全取消了。 为什么编译出的代码跟源代码不一致啊?

    源代码: a1.png

    gdb 中看到的代码: a2.png

    Supplement 1  ·  Dec 28, 2019
    stackoverflow 上解决了。
    32 位编译出的代码 gdb 当 64 位调试。对应的正好是 rex。

    根本问题还是在于代码里有 bits 32 指令。所以被强制成 32 位了
    1 replies    2019-12-29 01:40:19 +08:00
    billwsy
        1
    billwsy  
       Dec 29, 2019 via iPhone
    膜拜了 能给个 stackoverflow 的链接么,想要拜读一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4940 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 04:01 · PVG 12:01 · LAX 21:01 · JFK 00:01
    ♥ Do have faith in what you're doing.