リターンタイプは頻繁にエラーがチェックされます。ただし、実行を継続するコードは、さまざまな方法で指定できます。
if(!ret)
{
doNoErrorCode();
}
exit(1);
また
if(ret)
{
exit(1);
}
doNoErrorCode();
ヘビー級CPUが単純な統計を使用して近接/局所で取得されたブランチについて推測できる1つの方法-ゼロが不明で2であるブランチ推測(-2、-1,0、+ 1、+ 2)の4ビットメカニズムを研究しました真のブランチと見なされます。
上記の簡単なテクニックを考えると、私の質問はコードを構造化する方法についてです。主要なコンパイラと主要なアーキテクチャの間には慣習がなければならないと思います。これらは私の2つの質問です
- コードが、パイプラインがいっぱいになっているときにブール値がバイアスされる、頻繁にアクセスされるループではない場合はどうでしょうか。
- 分岐に関する推測は、true、false、または0のいずれかで開始する必要があります(パイプラインは何かで満たされている必要があります)。どちらになる可能性がありますか?