LaTeXのtableを
&
で揃える技があります。fprintf(stderr, "i = %d, j = %d", i, j);もちろん
printf
使ってもいいんですが、これだとターミナル上でパイプライン処理したときなんかに影響を与えてしまいます。
stderr
と入力するのもめんどくさいですね、小さなことですが。#define eprintf(...) fprintf(stderr, __VA_ARGS__)このマクロの中で、
...
というのは可変長の引数を表しています。fprintf
は引数の数が可変ですからね。__VA_ARGS__
の部分にそのまま入ります。eprintf ("i = %d, j = %d", i, j);と書くと一番最初に書いたコマンドに展開されることになります。
eprintf
によるログ出力は消しましょう。eprintf
関数を以下のように定義し直します。
#define eprintf(...) do {} while(0)これで
eprintf
は何もしないコードに置き換えられます。complex c;みたいな変数宣言を含んだファイルをclangでコンパイルするとすごくwarningが出る.
_Complex double c;みたいに複素数の実虚の型まで含めて宣言してあげる必要があるらしい.
#undef complex typedef _Complex double complex;のような文章を複素数型のincludeの後に入れてあげると良い.
int v; v ^= v;//初期化ちなみに、筆者の友人の環境によると、v=0とくらべて、2×10^(-8) [s]早くなりました。 時間がない人はお試しください。