タグ

2016年12月27日のブックマーク (4件)

  • 静的ライブラリ (.a) の作成と利用 | yunabe.jp

    静的ライブラリ (.a) の作成 ar コマンド で複数のオブジェクトファイル (.o) をまとめて静的ライブラリ (.a) を作成できます。

  • [C言語] 共有ライブラリと静的ライブラリを整理する - Qiita

    なんとなく分かった気でいるふたつのライブラリ。 それを小さなテストコードを使いながら整理してみます。 (ちなみに今回紹介するのはMacでのものです。Linuxではフォーマット、コンパイル方法などが異なります) 静的ライブラリをコンパイルする まずは静的ライブラリです。 ちなみにMacではMach-Oというフォーマットを使います。 (Linuxでは「ELF(Executable and Linking Format)」というらしい) こちらの記事が分かりやすかったです。 また、静的ライブラリはオブジェクトファイルをまとめたただのアーカイブです。 (なのでar(アーカイブ)コマンドを使う) 例として以下のように静的ライブラリの中身を定義しました。

    [C言語] 共有ライブラリと静的ライブラリを整理する - Qiita
  • .soや.dylibや.aファイル、共有ライブラリなどについて調べてみた - kanonji’s diary

    MacPortsでswftools@0.9.2を入れようとしたら失敗した - kanonjiの日記、MacPortsで入れる代わりに自前でビルドしたライブラリを使ってswftoolsをビルドしてみた - kanonjiの日記で、ビルドする時のライブラリについての知識が足りず困ったので、ちょっと調べてみました。基的にLinuxについて調べてて、Macについても分かったところがあるって感じです。 ちゃんとまとめるほど理解出来てるわけじゃないので、分かった事を並べる感じで書きます。勘違いしてたり、ちょっと用語がおかしかったりするかもしれません。 LinuxMacでは仕組みが違う LinuxではELF(Executable and Linking Format)という実行ファイルフォーマットがあって、この辺を調べていくとよくELFという単語を見かけます。 Macはというと、Mach-Oという実

    .soや.dylibや.aファイル、共有ライブラリなどについて調べてみた - kanonji’s diary
  • LLVMをちょっと調べてみた - wagavulin's blog

    最近LLVMについて調べてみたのでまとめてみる。自分はコンパイラの専門家でも何でもないので間違った内容があるかもしれない。 GCCとコンパイラの仕組み LLVMの前にまずはコンパイラ一般の話。コンパイラはまずソースコードを解析して内部表現にする。これはたいていツリー構造となる。このツリー構造のデータに対して文法チェックを行ったり最適化処理を行ったりした後に、オブジェクトファイルを生成する。 コンパイラの内部表現だが、実際には複数の種類の内部表現を使っていることが多いらしく、GCCもそのようになっている([1]の図3)。これによるとまずはその言語固有のツリーにするようだ(C trees, C++ treesなど)。これをGENERICという形式にする。GENERICは名前のとおり言語に依存しない一般的な形式で、どの言語の場合も一度GENERICにする。 GENERICはその後さらにGIMPL

    LLVMをちょっと調べてみた - wagavulin's blog