前に#pragma startup
と#pragma exit
を使用しましたが、次のコードを実行するとIn main
しか出力されません。誰が私にここで何が起こっているか教えてもらえますか?#pragmaディレクティブコンパイラは依存していますか?
#include<stdio.h>
#pragma startup A 110
#pragma startup B
#pragma exit A
#pragma exit B 110
int main()
{
printf("\nIn main");
return 0;
}
void A()
{
printf("\nIn A");
}
void B()
{
printf("\nIn B");
}
コンパイラに依存していますか?私はgccコンパイラを使用しています。
おばあさん。しかし、少なくとも私は関数を実行する方法を知っています。 –
関数AとBは、 '起動'と '終了'引数を使用して#pragmaディレクティブを使用して呼び出されます。したがって、彼は関数AとBを主関数から明示的に呼び出す必要はありません。メイン関数の実行の前後に自動的に呼び出されます。 –