かなり複雑で高度にテンプレート化されたコード (C++ ですが、これはあまり関係ないかもしれません) があり、実行時の add、sub、mul、div、および sqrt の数を知りたいです。この情報を自動的に取得する方法はありますか (コンパイラーは簡単に解決できます)。生成されたアセンブラ コードで自分でカウントしようとしましたがjp
、 、jmp
、およびcall
s と混同されました。
2 に答える
1
+
、-
、*
、/
演算子、およびsqrt
関数の使用を数えることができる float のような型をオーバーライドすることをお勧めします。
このようなもの:
struct Double {
double val;
Double(double v): val(v) {}
static unsigned add_count = 0;
Double operator+(Double other) {
++add_count;
return Double(val + other.val);
}
};
do_your_stuff<Double>();
于 2013-09-13T14:15:07.627 に答える