タグ

ブックマーク / 0xcc.net (1)

  • リンクされているライブラリによってプログラムの動作を変える - bkブログ

    リンクされているライブラリによってプログラムの動作を変える weak シンボルを用いると、リンクされているライブラリによってプログラムの動作を変えることができます。ここでは GNU 拡張を用いて weak シンボルを利用する方法を紹介します。 それではさっそくサンプルコードを見てみましょう。このプログラムでは、libm に含まれる sqrt() 関数があるときは利用し、ない場合はその旨のメッセージを表示します。 weak.c #include <stdio.h> extern double sqrt(double x) __attribute__ ((weak)); void func () { if (sqrt) { printf("%f\n", sqrt(10.0)); } else { printf("sqrt isn't available\n"); } } weak-main.c

    takuwz
    takuwz 2018/08/15
  • 1