exit() 呼び出しが存在しないように見える組み込みシステムを使用しています。
malloc を呼び出す関数があり、失敗したときにプログラムをクラッシュさせるのではなく、もう少し優雅に終了したいと思います。
私の最初のアイデアは goto を使用することでしたが、ラベルの範囲は非常に限られているようです (よくわかりませんが、「NEVER USE GOTO!!1!!」まで使用したことがありません)。
別の関数のセクションに移動できるかどうか、または任意の関数から C プログラムを終了する他の創造的な方法があるかどうか疑問に思っていました。
void main() {
//stuff
a();
exit:
return;
}
void a() {
//stuff
//if malloc failed
goto exit;
}
助けてくれてありがとう。