タグ

clangとmakeに関するclavierのブックマーク (5)

  • Linuxで共有ライブラリsoを作ったり使ったりする方法。

    Linuxの場合は共有ライブラリso Linuxだと、共有ライブラリと呼ぶようです。拡張子は、soです。 下記ブログを参考にしました。 gccを用いたCの共有ライブラリの作り方 ライブラリのコードを書く。 簡単なライブラリコードを書きます。hello関数を実行すると、hello worldを出力するだけです #include int hello() { printf("hello world\n"); return 0; } Mac OSXの場合と同じライブラリのコードにしました。これを、dylibexample.cと名づけて保存します。 gccでsoにコンパイルする。 Linuxの場合は、-sharedオプションをつけてコンパイルすると、soファイルが作成できます。 $ gcc -shared -fPIC -o libdylibexample.so dylibexample.c $ ls

    Linuxで共有ライブラリsoを作ったり使ったりする方法。
  • gccを用いたCの共有ライブラリの作り方 - シリコンの谷のゾンビ

    ゆとりなもので,ついこないだまで動的リンクと静的リンクの違いがわかっていなかった.動的リンクというのが理解できた頃,そっかユーティリティライブラリは自分で共有ライブラリ作ってしまえばいいんだ,というごく当たり前のことが理解できた. UNIXをさわりはじめていた初期の頃,mecab.soのシンボリックが〜〜という用なハマりがあったのだけれど,あれは要するに実行時に共有ファイルへのパスを指定してあげればよかっただけのこと. わかると当たり前だけれど,わからないと「何がわからないのかわからない」状態に落ち込むなぁ,と改めて思いました. (幸いなことに,僕の周りには「ゆとり乙ww」と指導してくれる方々がいるので認識できるようになるのですが,少なくとも大学(院)時代はそうでなかったわけで,ゆとりスパイラルの恐ろしさを体感した気がしています.) というわけで自分用共有ライブラリの作り方をきちんと理解で

    gccを用いたCの共有ライブラリの作り方 - シリコンの谷のゾンビ
  • Makeでヘッダファイルの依存関係に対応する - wagavulin's blog

    CやC++で書かれたプログラムをMakeを使ってビルドする、というのはUnix/Linuxではよく行われていることだが、ちゃんとしたMakefileを書くのは意外と難しい。 例えば以下の3つのファイルからなるプログラムを考える。 foo.h: 関数fooの宣言がある。 foo.c: 関数fooの実装がある。 main.c: 関数fooを呼び出す。 /* foo.h */ void foo(int a); /* foo.c */ #include "foo.h" #include <stdio.h> void foo(int a){ printf("%d\n", a); } /* main.c */ #include "foo.h" int main(int argc, char **argv){ foo(10); return 0; } Makefileは例えば以下のように書ける。 PRO

    Makeでヘッダファイルの依存関係に対応する - wagavulin's blog
  • gccでヘッダファイル・ライブラリのパスを指定する方法 - ひよっこエンジニアの日記

    オープンソースのコンパイルで失敗する原因のほとんどは、ライブラリorヘッダファイルが存在しない・ライブラリorヘッダファイルのパスが誤っているのいずれかになります。後者の場合自分でMakefileを修正しなくてはなりません。そこでgccのオプションに関する知識が必要になります。 デフォルトでのライブラリとヘッダファイルの読み込み 簡単なプログラムのコンパイルでも-vオプションを付けると、以下のように普段は見えない多くの自動的に付与されたパラータが見られます。ここかヘッダファイルとライブラリに関する情報を読み取ってみます。 [root@new-host code]# gcc -v test.c Using built-in specs. Target: x86_64-redhat-linux コンフィグオプション: ../configure --prefix=/usr --mandir=/u

    gccでヘッダファイル・ライブラリのパスを指定する方法 - ひよっこエンジニアの日記
  • 池袋バイナリ勉強会に行ってきた

    「kernelvmの発表者に、プログラミングを学んでわずか半年にして、PDP-11エミュレーターを実装した強者がいる」 kernelvmに参加した南山まさかず君は筆者に言った。なんと、プログラミング初心者が半年でPDP-11エミュレーターを実装し得ただと? いったい我々は何をやっていたのだ。その強者と話がしてみたい。きっとまだプログラミングの基礎を覚える過程を記憶していて、プログラミングを学ぶ方法がわからない筆者として、興味深い話が聞けることであろうし、半年でPDP-11エミュレーターを実装できたのであれば、物のプログラマーの素質を持っているであろうから。 聞けば、その強者は、七誌氏の主催する、池袋バイナリ勉強会なる勉強会で学んだという。一体どのような勉強会なのだろうか。ひとまず、その勉強会に参加してみよう。幸い、今週の土日に、初心者向けの講座が開かれる。 池袋バイナリ勉強会の会場は、東

  • 1