私は自分のプログラムで使用するサードパーティ関数を持っています。私はそれを置き換えることはできません。動的ライブラリにあるため、編集することもできません。問題は、実行時間が長すぎる場合があることです。
たとえば、この関数が 10 秒以上実行されている場合、この関数の実行を停止するために何かできますか? (このシナリオでは、プログラムを閉じても問題ありません。)
PS。私は Linux を使用しており、このプログラムを他の場所に移植する必要はありません。
私が欲しいのは次のようなものです:
#include <stdio.h>
#include <stdlib.h>
void func1 (void) // I can not change contents of this.
{
int i; // random
while (i % 2 == 0);
}
int main ()
{
setTryTime(10000);
timeTry{
func1();
} catchTime {
puts("function executed too long, aborting..");
}
return 0;
}