2013-12-08 133 views

回答

5

不,你不能。有一個且只有一個main()是一個硬設計約束。

您需要將您的功能抽象爲函數,可能將其轉換爲函數庫,然後A和B都可以使用新函數庫。

+0

爲什麼這個設計約束存在?在我看來,編譯器可以根據我是否調用'A.exe'或'B.exe'來知道調用哪一個main。 – Dejan

1

這根本不可能。你只能有一個main()。

-1

上面的答案並不完全正確。

如果您可以重命名當前項目的main您可以這樣做。只需重命名它並告訴編譯器使用重命名的main作爲入口點。見this answer

0

在一個程序中不能有兩個main()函數實例。這會給鏈接器帶來很大問題:應該選擇哪一個作爲主函數real(在啓動程序時調用)?

如果您想製作兩個二進制文件(A.exeB.exe)並從另一個文件中調用其中的一個,應該閱讀有關執行外部進程的內容。通過使用操作系統的API或一些平臺無關的庫(如Qt),但絕對不能直接調用其他進程的函數。