タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

C言語とインターポジショニンに関するakaneharaのブックマーク (1)

  • やり直しC言語:インターポジショニングによるtime(3)のスタブ化

    C言語のを久しぶりに読み返しているのですが、インターポジショニング(interpose, interposition)なる言葉を初めて知ったのでメモです。 「C標準ライブラリ関数などをローカル定義の関数で上書きできてしまう」というお話です。うっかりやらかすとバグの温床になるのですが、うまく使えばユニットテストのスタブとして便利そう。 time関数についておさらい 例として思いついたので、time(3)を上書きしてみます。 time(3)は現在時刻をUNIX time(time_t型)で取得するC標準ライブラリ付属の関数です。詳細はman 3 timeで。この関数、実行時間によって結果が常に異なるわけで、ユニットテストの時は困り者です。 /* time_ex.c */ #include <stdio.h> #include <time.h> int main(void) { printf(

    やり直しC言語:インターポジショニングによるtime(3)のスタブ化
  • 1