c++ - C++中的模块编程

标签 c++ visual-studio-2010 visual-c++ architecture module

我基本上是一名具有 C# 和 C++ 编程知识的 Java 程序员。考虑到这一点,请阅读以下场景,我用它来解释我的情况。

假设我正在创建一个程序。我是Module编程的爱好者,所以我把这个程序分成了modules。它们是:

  1. 报警
  2. 安全
  3. 作家

现在,在 Java 中,我可以将这些模块表示为 packages,其中 packages 简单来说就是 Java 之外的文件夹。

现在,如果我要使用 C++,我该怎么做呢?我如何将它们安排到 packages 或类似 Java 的东西中?而且,在我的真实案例中,我将使用 OpenCV C++ 库,同时将 C++/CLI 用于 GUI 和一些创建为 DLL 的 C# 模块。

我的程序将非常庞大和复杂,我不想看到所有类、DLL 和其他所有内容都位于同一个文件夹中而没有任何明确安排的困惑情况。

更新

Image 我有另一个名为“Speak”的模块。该模块将是 C++/CLI,因为 C# 和 C++ 都将在那里。我如何将其安排到 packages 中?

最佳答案

至于如何在硬盘驱动器上组织文件,这完全由您决定。当你构建系统时,你必须确保编译器知道文件在哪里;与 Java 不同,C++ 编译器不会四处寻找并试图弄清楚您可能打算做什么。

就逻辑组织而言,这里确实没有足够的信息来提出可靠的建议。但对于一大组相关类,命名空间可能是正确的选择。

关于c++ - C++中的模块编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17369894/

相关文章:

c++ - 两个几乎相同的循环中的性能差异

c# - 如何在 C# 中隐藏/取消隐藏进程?

c++ - 程序返回到第一个函数而不是下一个函数

c++ - 如果未指定返回类型,递归 lambda 将无法编译

c++ - 在 C++ 中不调用构造函数

c++ - 如何包含 glew32.dll 而不必将其放入系统根目录

c++ - Visual C++ 窗口创建失败

c++ - 窗函数

c++ - 使用 SetData() 分配数据后 cvReleaseImage() 出现段错误

c++ - 混淆在右值和左值上重载成员函数