タグ

ブックマーク / fjnl.hatenadiary.org (2)

  • clang のライブラリの方で遊んでみた - fjnlの生存記録のような何か

    clang のコンパイラではなく、ライブラリの方で遊んでみた。使用した clang(+LLVM) のバージョンは Subversion レポジトリより取得した r127064 。ちょっと古いが気にしない。 clangのライブラリの方のドキュメントが見つけられなかったので、主にclang tutorialを参考にした。しかしながら、clang tutorialが書かれたのは2008年であり、現在の clang ではコンパイルエラーになるコードもある。 今回作成したのは、main関数が引数を取るか取らないかを出力するプログラムである (clang::FunctionDecl::isMain関数を使えば、ある関数がmain関数であるかどうか判定できるので楽できる)。clang::CompilerInstanceの使い方がこれでいいのか、かなり自信がない。以下ソースコード。 コンパイルは以下のよう

    clang のライブラリの方で遊んでみた - fjnlの生存記録のような何か
    xxxxxeeeee
    xxxxxeeeee 2012/01/11
    コンパイラ・システムの使い方サンプルコード
  • libclangでMPIの関数を抽出してみた - fjnlの生存記録のような何か

    手作業だとめんどくさいし、間違えそうだということでlibclangを使ってみました。 こんなファイルstub.cを用意して、 #include <mpi.h> mpi_extractorにわせると、MPI関数の名前、返り値の型、引数の型がCSVで出力されます。 $ ./mpi_extractor stub.c MPI_Abort,int,MPI_Comm,int MPI_Accumulate,int,void *,int,MPI_Datatype,int,MPI_Aint,int,MPI_Datatype,MPI_Op,MPI_Win MPI_Add_error_class,int,int * MPI_Add_error_code,int,int,int * MPI_Add_error_string,int,int,char * [略]

    libclangでMPIの関数を抽出してみた - fjnlの生存記録のような何か
    xxxxxeeeee
    xxxxxeeeee 2012/01/11
    clangの使い方
  • 1