タグ

Cに関するakatakunのブックマーク (3)

  • 静的ライブラリ,共有ライブラリ,動的リンク,静的リンク - iwiwi 備忘録

    静的ライブラリとは 静的ライブラリ (static library) は ar コマンドで .o をまとめて作った .a ファイル. libhoge.a が有る時,gcc に -lhoge オプションを与えるとリンクされる. データが全て含まれるので .a ファイルはコンパイル時のみ必要 .a ファイルの中身は .o ファイルの連結のようなものであり,連結時に与えた順番通りに読み込まれる 共有ライブラリとは 共有ライブラリ (shared library) は gcc に -shared オプションを与えて得られる .so ファイル. libhoge.so が有る時,gcc に -lhoge オプションを与えるとリンクされる. 共有ライブラリの動的リンクとは 共有ライブラリは通常は動的リンクされる. .so ファイルの内容は実行ファイルに含まれず,.so ファイルが必要であるということが記

    静的ライブラリ,共有ライブラリ,動的リンク,静的リンク - iwiwi 備忘録
    akatakun
    akatakun 2019/03/29
    Static LibraryはCompileしたらBinaryに組み込まれる,環境非依存,Shared LibraryはLinkしたら実行時にLoadされる,Binaryが小さい.複数プロセスでも同じものを使うので使用メモリが少ない
  • .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
    akatakun
    akatakun 2016/09/08
    .a: Static Library,.so: Shared LIbrary(Dynamic Linking, Dynamic Loading): プログラムの実行時にロードされる,Dynamic Linking: 動的リンクして使うSharad Library,Dynamic Loading(Dynamic Library): 動的ローディングして使うShared Library
  • Gitのつくりかた | メルカリエンジニアリング

    はじめまして。サーバサイドエンジニアの @DQNEO です。 今日はGitのつくりかたをご紹介します。 C言語学習教材としてのGit Gitと同じものをゼロから作って何の意味があるのか?と思いますよね。 私がこの再発明をやり始めた動機は「C言語を書けるようになりたい」でした。 実際に途中までやってみたところ、 C言語がチョットデキるようになった Gitの内部構造に詳しくなった というメリットが得られました。 C言語を勉強する題材は、テトリスとかWebサーバとか他にいくらでもあるのですが、Gitを実装してみるのはかなりおすすめです。理由は下記の通りです。 内部構造が意外と単純 (ローカルで動かす分には)ネットワークの知識が不要 普段使っているツールで外部仕様がわかっているので、やるべきことが明確 余談ですが、家Gitのソースコードを参考にしようと思って読んでいたら、Linus Tovals

    Gitのつくりかた | メルカリエンジニアリング
    akatakun
    akatakun 2015/09/15
  • 1