【问题标题】:Can I use multiple main function under a project on Visual Studio 2019?我可以在 Visual Studio 2019 的项目下使用多个主要功能吗?
【发布时间】:2020-06-12 15:18:49
【问题描述】:

我正在使用 Visual Studio 2019 来学习 C++。每次我为每个程序创建项目时。是否可以在 Visual Studio 上创建和运行多个主源文件,如 Eclipse/Netbeans/IntellijIdea 上的 Java?谢谢。

【问题讨论】:

  • 简答你可以,你不能在一个应用程序中有多个主要功能,在Java中我认为你可以这样做。但在 c++ 中,main() 是应用程序的入口点。这意味着如果 main() 不存在,则代码将无法编译。如果它存在,代码将从它开始执行。
  • 您了解解决方案和项目吗?如果没有:您可以在一个解决方案中创建多个项目并独立启动它们。我不确定这是否适合您的问题,但也许值得一提
  • 问题是每个项目最多代表 1 个可执行文件,并且您不能在同一个可执行文件中有两个 main() 函数。但是,您可以在一个工作区中拥有多个项目。

标签: c++ visual-studio ide


【解决方案1】:

简短的回答“你不能,你可以”。

main() 被称为入口点。在 Java 中,您可以在每个类中使用 main(),因为理论上每个类都可以自包含

C++ 不能这样工作,因为最后每件事都会链接到一个可执行文件。

如果你想拥有多个入口点你需要:

  1. 为每个入口点创建单独的 *.cpp 文件,每个文件都应定义自己的 main() 函数。
  2. 每个文件都应该在您的构建系统中有一个单独的二进制目标(Cmake...等)
  3. 根据需要构建并运行目标。

【讨论】:

    【解决方案2】:

    有两种方法。要么你使用cmake,更多信息here

    您将主要功能放在单独的名称空间中,然后定义您要运行哪一个。 example here

    【讨论】:

    • 答案必须是独立的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    相关资源
    最近更新 更多