第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從GCC /鏗鏘聲組件輸出中消除“噪音”?

如何從GCC /鏗鏘聲組件輸出中消除“噪音”?

C++ C
慕婉清6462132 2019-05-28 16:49:25
如何從GCC /鏗鏘聲組件輸出中消除“噪音”?我想檢查boost::variant在我的代碼中應(yīng)用的程序集輸出,以便查看哪些中間調(diào)用被優(yōu)化掉了。當(dāng)我編譯以下示例(使用GCC 5.3 g++ -O3 -std=c++14 -S)時,似乎編譯器優(yōu)化了所有內(nèi)容并直接返回100:(...)main:.LFB9320:     .cfi_startproc     movl    $100, %eax     ret    .cfi_endproc(...)#include <boost/variant.hpp>struct Foo{     int get() { return 100; }};struct Bar{     int get() { return 999; }};using Variant = boost::variant<Foo, Bar>;int run(Variant v){     return boost::apply_visitor([](auto& x){return x.get();}, v);}int main(){     Foo f;     return run(f);}但是,完整的程序集輸出包含的內(nèi)容遠(yuǎn)遠(yuǎn)超過上面的摘錄,對我而言,它看起來永遠(yuǎn)不會被調(diào)用。有沒有辦法告訴GCC / clang刪除所有“噪音”并輸出程序運行時實際調(diào)用的內(nèi)容?
查看完整描述

3 回答

  • 3 回答
  • 0 關(guān)注
  • 757 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號