15

私は大学院のプログラマーであり、C++ に関しては、main()常に関数があることを期待しています。

ただし、Visual Studio 6.0 を使用して C++ で記述されたプロジェクトを受け取りましたが、機能がありませんmain()。このプログラムがどのように実行されるのか、どこから始まるのか、まったくわかりません。

関数の名前を変更するために使用できるマクロの例を見てきましたが、main()このコードはその慣行の兆候を示していません。

誰かが私が探しているものを提案できますか?

4

5 に答える 5

15

おそらくメイン関数はライブラリにあり、プログラムは静的オブジェクトの仮想関数呼び出しから始まります。それが MFC アプリケーションで起こることです。

このプログラムは、CWinApp からクラスを派生させ、静的変数として 1 回インスタンス化します。次に、MFC は (CWinApp のコンストラクターによって設定された) ポインターを認識し、そのポインターで仮想関数 InitInstance() を呼び出します。

ほら、ここでプログラムのソフトウェアが引き継がれます...

于 2011-07-12T10:19:56.840 に答える
14

まず、ライブラリ、DLL、または静的ライブラリであり、main(). 2 つ目は、WinMain(). また、Visual Studioには_tmain()、一種のラッパーである関数またはその他がありますmain()

于 2011-07-12T10:17:24.257 に答える
3

標準では、プログラムにはメイン関数が必要であると規定されていますが、リンクされているライブラリにメイン関数が定義されている場合、これはアプリケーション開発者が記述する必要はありません。また、一部のリンカでは、エントリ ポイントをメイン以外に再定義できます。

WinMainはまったくありますか?

于 2011-07-12T10:18:13.047 に答える
2

Winコンソールアプリケーションを作成している場合-main()が必要ですが、DLLを処理している場合は、ウィンドウアプリケーション用のDllMain()を期待しているので、WinMain()を期待する必要があります。

于 2011-07-12T10:38:44.473 に答える