Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Cでmain()の前後に実行される関数


ここでは、2つの関数が存在し、1つの関数がメイン関数の前に実行され、別の関数がメイン関数の後に実行されるコードの記述方法を説明します。これらの機能は、メインを実行する前にいくつかの起動タスクを実行し、メインを実行した後にいくつかのクリーンアップタスクを実行するために使用されます。

このタスクを実行するには、これら2つの関数の属性を設定する必要があります。属性がコンストラクター属性の場合はmain()の前に実行され、属性がデストラクタ型の場合はmain()の後に実行されます。

サンプルコード

#include<stdio.h>
void before_main() __attribute__((constructor));
void after_main() __attribute__((destructor));
void before_main() {
   printf("This is executed before main.\n");
}
void after_main() {
   printf("This is executed after main.");
}
main() {
   printf("Inside main\n");
}

出力

This is executed before main.
Inside main
This is executed after main.

  1. インストールと使用が簡単な5つのArchLinuxディストリビューション

    Arch Linuxは、おそらく最も「オタク向け」のLinuxディストリビューションの1つであり、Linuxができることの最先端を押し上げようとしているすべての愛好家にとって楽しい経験があります。その性質とターゲットユーザーは、経験豊富なLinuxユーザーでさえも先延ばしにする可能性のある急な学習曲線で、使用とインストールを困難にします。コンピューターがプロジェクトになり、それを担当するエンジニアになります。Archは、使い方を学べば、夢のような夢を実現するための魔法の杖を手渡します。 Arch Linuxのパワーを活用したいが、すべてをゼロから構築する必要がない場合、良いニュースは、さまざ

  2. 分散型でブロックチェーンベースの最高のソーシャルネットワーキングサイトの8つ

    Facebook、Twitter、LinkedInなどの主要なソーシャルネットワーキングサービスはすべて完全に一元化されており、すべてのデータを保存し、ユーザーエクスペリエンスを自由に変更でき、プラットフォームで発生するすべてのことを担当します。これは、プライバシー、検閲、モデレートなどにかなり明確な影響を及ぼし、これらの問題やその他の問題に対する懸念から、プラットフォーム自体が動作方法を変更する必要が生じています。ただし、それが発生したとしても、ゆっくりと発生する可能性があります。そのため、ソーシャルメディアのニーズに対するプライベートで安全なソリューションを求めて、新しい分散型のブロックチ