私は次のように定義された関数を持っています:
int f_2() {
rand();
return 10;
}
clangはそれを3つの基本ブロックに分割します。これは理解できます。
ただし、rand()の呼び出しをexit(0)に置き換えると、4つの基本ブロックに分割されます。ウィキペディア(http://en.wikipedia.org/wiki/Basic_block)によると、戻れない関数は基本ブロックの最後にある可能性があります。
clangは、exit()関数が返されないことをどのように認識しますか?clang-cを使用してコードをコンパイルしています。