タグ

C++に関するBowz13のブックマーク (4)

  • さき的視点:iPhone でナノ秒単位の時間を扱う - livedoor Blog(ブログ)

    iPhone 高精度タイマー」というキーワードで検索してみたところ、なぜか NSTimeInterval が出てきて「それは違うだろ!」と思ったので、今日は iPhone の高精度タイマーについて書いてみたいと思います(笑) ミリ秒よりずっと細かい、マイクロ秒とかナノ秒の話です。 iOS でナノ秒単位の細かい時間を取得するには mach_absolute_time 関数を利用します。mach_absolute_time 関数は mach/mach_time.h に定義されています。 #import <mach/mach_time.h> 単純に mach_absolute_time() を呼びだすとカーネルの絶対時間を取得することができます。例えば以下のようなコードを書くとループを100回まわして NOP 命令を実行した場合の時間を取得できます。 uint64_t start, e

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • http://www.tricky-code.net/mine/c/mc17typedef.php

    Bowz13
    Bowz13 2014/08/14
    #defineはプリプロセッサにより解釈され、typedefはコンパイラにより解釈されます。 プリプロセッサとは、コンパイラがソースコードを解釈する前に、ソースコードへ文字列レベルの処理 を加えるプログラムです。
  • ifndef

    円周率のような定数は広く使われるので、ヘッダファイルに含めたいところです。そのヘッダファイルをインクルードするだけでPIを定義できます。 ところが、1つのプログラムで、2回以上同じ宣言をしてはいけません。すると、そのヘッダファイルは1つのプログラムで1回しかインクルードできません。 補足 一般に1つのプログラムは、複数のファイル(*.cppファイル、*.hファイル)で構成されます。あるcppファイルが、ある定義を持つヘッダファイルをインクルードし、別のcppファイルが同じヘッダファイルをインクルードすると、同じ宣言を2回していることになってしまいます。 そこで、#ifndefと#endifを使います。これらは、擬似命令と呼ばれるプリプロセッサによって処理される命令です。プリプロセッサとはコンパイルの前に実行されるコマンドのことです。プリプロセッサの実行は自動的に行われるので、通常、プログラ

    Bowz13
    Bowz13 2014/08/14
    条件コンパイルによる重複定義の回避
  • 1