さくらんぼのlambda日記

lambdaちっくなことからゲーム開発までいろいろ書きます。

c++

clangで相互参照の情報を取得する!

前回からだいぶ間が開いてますが、やっと解析の方法をまとめることができそうなのでまとめます。目標は「clangのIndexerを使ってコードの相互参照の情報を取得する」です。 Indexerを作る IndexerにTranslationUnitを複数個渡していく IndexerからAnalyzerを…

clangで相互参照の情報解析

前回の記事の続きです。ソースコードから以下の情報を取りたいです。 定義されている関数、変数の詳細 関数、変数の参照関係 前回の内容では、「定義されている関数、変数の詳細」の情報は取得できました。ですが、「関数、変数の参照関係」を取る方法がわか…

Let's ソースコード静的解析!

ふとソースコード静的解析で遊んでみたくなりました。そこで、最近活発なclangでC++のソースコード静的解析プログラムを書こうと思います。大分昔clangで遊んだことがあって構文木をXMLで出力させるのは標準機能であったなぁと思い出していたら、どうやら最…

まとめ

c++

どうやら boost::testしたいなら #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN #include <boost/test/unit_test.hpp> して使うのが良さそうです。 ちなみに、静的リンクだとどうもうまく動作してくれなかったので何か別の方法があるのかもしれません。 BOOST_TEST_DYN_LINKを</boost/test/unit_test.hpp>…

VisualStudioを便利に使うためのメモ

C++

最近仕事でEclipse使っていて、その影響もあってかIDEの威力を叩き込まれました。 でもEclipseはいまいち不安定だしJavaだとすごいけどC++だとやっぱりVisualStudioが 枯れてて良いと思うのでVisualStudioで便利な機能とかショートカットをメモしておきます…

multi_indexが便利な件について その2

C++

前回のmulti_indexの話の続きです。 multi_indexを作ってみる! ここでは3つのインデックスをもつmulti_indexを作ってみます。 ちょっと複雑というか、長いコードなのでびっくりするかもしれませんが 落ち着いて読めば大丈夫です。 typedef multi_index_cont…

boostのmulti_indexが便利な件について

C++

割と最近真面目に使いだしたboostライブラリ。 色々と便利な機能が満載すぎて正直素敵すぎます。個人的に便利だと感じたのは、multi_indexですね。 これはコンテナに複数のインデックスを張ることを可能にするものです。 どういう状況で便利なの? どういう…

とどりすと

C++

一応仮にもプログラミングで飯を食いたいと思っているなら C with classes的なC++の使い方ではなく、本当にC++で開発できる方が良いと思い立ち 本を大量に購入してみました。プログラミング言語C++ (アスキーアジソンウェスレイシリーズ―Ascii Addison Wesle…