1

EclipseでJavaプログラムを実行すると、ファイルを実行するたびに、コンパイラーはファイルが存在するかどうかを確認しますmain。存在する場合は、実行できます。そうでなければ、私はできません。

しかし、MinGWを使用してEclipseでC ++プログラム(CDT)を実行すると、atCompilerはそのように機能しません。コンパイル後、どのファイルから実行しても、コンパイラはプロジェクト全体を検索して1つのメインを見つけますしたがって、メインファイルが多い場合は、エラーが発生します。

Eclipseで、C ++コンパイラを処理してマルチメインファイルを作成し、Javaのように機能させる方法を教えてくださいmain。実行元のファイルを見つけるだけです。

@:デバッグ目的でマルチメインファイルがあります。!!!

ありがとう :)

4

1 に答える 1

0

C / C ++のJavaとは異なり、メインを持つことができるのは1つだけです。

main()関数は特別です。通常、すべてのCおよびC ++プログラムは、それを1回だけ定義する必要があります。

ソース

ただし、回避策として、プリプロセッサを使用して、どちらを使用するかを決定できますmain

例:

#ifdef FIRST_MAIN
int main(int argc, char** argv)
{
    printf("first");

    return (EXIT_SUCCESS);
}
#elif SECOND_MAIN
int main(int argc, char** argv)
{
    printf("second");

    return (EXIT_SUCCESS);
}
#else
int main(int argc, char** argv)
{
    printf("default");

    return (EXIT_SUCCESS);
}
#endif

これで、コンパイル時に適切なフラグを設定することで、どちらを使用するかを決定できます。何も設定されていない場合は、デフォルトのもの(#else一部)を使用します。

別の方法: -functionを含むすべてのファイルをmainコンパイルから除外し、必要なファイルのみを含めます。ただし、これは、これらのファイルに。を超えるファイルが含まれていない場合にのみ機能しますmain

于 2013-02-04T23:03:14.190 に答える