タグ

ブックマーク / auewe.hatenablog.com (2)

  • C言語で並列処理(OpenMP) - 余白の書きなぐり

    Windows(minGW), Mac, Linux のgcc(version 4.2以降)で動作確認済。 新しいライブラリ等をインストールすることなく、デフォルトのままのgccでコンパイルが通った。 こんなに手軽に並列計算できるなんてすごい。 ソースコード // hoge.c // 並列処理のプログラム // Windows, Mac, Linux の全ての gcc (4.2以降) でプログラム動作確認済 #include <stdio.h> #include <omp.h> int main(int argc, char const* argv[]) { int n; n = omp_get_max_threads(); // デフォルドのスレッド数を取得 printf("max threads (default): %d\n",n); omp_set_num_threads(16)

    C言語で並列処理(OpenMP) - 余白の書きなぐり
  • Makefileでソース、ヘッダファイルの依存関係を処理 - 余白の書きなぐり

    大規模なC言語プログラムでは、ソースやヘッダファイルが複雑な依存関係を持つため、それらを自動解決してくれるMakefileが欲しくなる。 欲望を具体化すると ソース、ヘッダ、オブジェクトファイルは異なるディレクトリに入れたい 依存関係を認識し、更新すべきオブジェクトファイルを自動検出 新しいソース、ヘッダファイルを作成した際、Makefileを書き換ずに済む 他のプロジェクトにも使いまわせる汎用性 Makefile自体が短く、保守しやすい だいぶ贅沢だが、頑張ってMakefileをこしらえたので、得られた知見を忘れないうちにまとめておく。 以前書いたMakefile文法ミニマムも参考にしてくれ。 ディレクトリ構成 root +----src/ | +---- main.c # mA.h を読み込む | +---- A.c # mA.h と A.h を読み込む | +----inc/ | +

    Makefileでソース、ヘッダファイルの依存関係を処理 - 余白の書きなぐり
  • 1