Table of Contents
Cプログラミングでタイマー関数を作成する
C プログラミングでは、タイマー関数は、一定時間が経過した後に特定のタスクを実行するための便利なツールです。これは、関数の実行を遅らせたり、タスクを定期的に実行したりする必要があるシナリオで特に役立ちます。この記事では、C プログラミングでタイマー関数を作成する方法を説明します。
C でタイマー関数を実装する一般的な方法の 1 つは、時間値を操作するための関数を提供する `time.h` ヘッダー ファイルを使用することです。たとえば、`time()` 関数は、Unix エポックからの秒数を表す現在のカレンダー時刻を `time_t` オブジェクトとして返します。この値を目標時間と比較することで、一定の時間が経過したことを判断できます。
タイマー関数を作成するには、時間間隔をパラメータとして受け取り、`time()` を使用する関数を定義できます。現在時刻を計算する関数。次に、この時間をタイマーの開始時刻と比較し、指定された間隔が経過したかどうかを確認できます。存在する場合、目的のタスクを実行できます。
これは C の単純なタイマー関数の例です:
“`c
#include
#include
void timer(int 秒) {
time_t start_time = time(NULL);
time_t 現在の時刻;
{
現在の時間 = 時間(NULL);
} while ((現在の時刻 – 開始時刻) < seconds); printf(“Timer expired! “); } int main() { タイマー(5); // タイマーを 5 秒に設定 リターン0; } “` この例では、`timer()` 関数はタスクを実行する前に待機する秒数を表す整数パラメータを取ります。 `time()` 関数を使用して開始時刻を計算し、指定された間隔が経過するまで現在の時刻を継続的にチェックするループに入ります。タイマーが期限切れになると、タイマーが期限切れになったことを示すメッセージが出力されます。 このタイマー関数の実装は単純なものであり、すべてのシナリオに適しているわけではないことに注意することが重要です。より正確なタイミングやより複雑な要件については、より高度な機能を提供する他の手法やライブラリの使用を検討する必要がある場合があります。 C でタイマー関数を作成するもう 1 つの方法は、`signal.h` ヘッダー ファイルを使用することです。特定の間隔でトリガーできるシグナル ハンドラーをセットアップできます。 `SIGALRM` シグナルのシグナル ハンドラーを登録すると、一定の時間が経過した後にアラームが鳴るようにスケジュールを設定できます。 C でシグナルを使用したタイマー関数の例を次に示します: [video src="http://shchimay.com/wp-content/uploads/2023/11/ASDU.mp4" /]“`c #include #include #include void timer_handler(int signal) { printf(“タイマーが切れました! “); } void timer(int 秒) { signal(SIGALRM, timer_handler); アラーム(秒); 一時停止(); } int main() { タイマー(5); // タイマーを 5 秒に設定 リターン0; } “` この例では、タイマーが期限切れになったことを示す `SIGALRM` 信号を受信すると、`timer_handler()` 関数が呼び出されます。 `timer()` 関数はシグナル ハンドラーを登録し、指定された秒数の間アラームを設定し、シグナルが受信されるまでプログラムを一時停止します。
固定 ベッドGR大 | ||||
モデル | GR15側面・上面 | GR20側面・上面 | GR40側面・上面 | GR50 |
最大出力 | 18T/H | 25T/H | 48T/H | 70T/H |
C プログラミングでタイマー関数を作成することは、時間に敏感なタスクを管理したり、プログラムに遅延を実装したりする場合に貴重なスキルとなります。 `time.h` または `signal.h` ヘッダー ファイルを使用すると、特定の要件を満たすタイマー関数を実装し、コードの効率を向上させることができます。