分岐、構造体、配列に関するLLVM C++ APIについて。
※LLVMのバージョンは10.0.0
目次
- 分岐
- 構造体
- 配列
ルーレットのみ表示したい場合はこちら→https://shining-corn.github.io/roulette/
LLVM IRおよびそこから出力する実行可能ファイルにデバッグ情報を埋め込む方法を調べるため、下準備としていろいろやったのでその記録を残しておく。
基本的にWindows環境を想定しているが、Linuxのgdbでの動作確認も行っている。
実施した内容は以下。
LLVMのバージョンは10.0.0。 clangやLLVM関連のツールはこの手順でセットアップしている。
目次
続きを読む前回までで、LLVM IRを作成したりオブジェクトファイルを出力したりする方法を説明したが、プログラム本体は戻り値を返すだけのものだった。
それだけだとまともなプログラムを作成できないので、今回は標準出力にhello world
を出力するLLVM IRを作成する。
また、出力したオブジェクトファイルをリンクして実行可能ファイルを作成する方法も説明する。今回はC標準ライブラリの関数を利用するので、前回よりリンクに手間がかかる。
※この手順でLLVM 10.0.0をビルドした環境で、Visual Studioのプロジェクトをこの内容に設定してビルド確認している。
目次