エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
llvm(2.6)での例外処理。 例外処理のドキュメン*1は一応用意されているのだが、簡潔かつ実例が皆無なの... llvm(2.6)での例外処理。 例外処理のドキュメン*1は一応用意されているのだが、簡潔かつ実例が皆無なので、試すのに結構苦労した。 以下は、その簡単なまとめとメモ。 llvmでの例外処理の種類 llvmであらかじめサポートされている(?)例外処理の方法は三つ。 invoke命令/unwind命令*2を組み合わせる Itanium ABIに基づいた(or DWARFを用いた)例外処理 ※ 例外捕捉のコストは高いが、例外を送出しなければほぼゼロコスト(速度的に) setjump/longjumpを用いた例外処理 ※ 例外捕捉のコストは低いが、例外を送出しない場合にもコストが必要(速度的に) 後者二つは、C++(gcc?)で使われている例外処理をそのまま利用する形となっており、自分の環境のllvmがどちらの例外処理を(少なくともあまり労力をかけずに)使えるかは、その環境のgccがどっち用にコ