2013-12-08 132 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),但绝对不能直接调用其他进程的函数。