0

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

想象一下我正在创建一个程序。我是模块编程的粉丝,所以我把这个程序分成模块。他们是:

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

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

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

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

更新

图片 我有另一个模块,叫做“Speak”。该模块将是 C++/CLI,因为 C# 和 C++ 都将在那里。我怎样才能把它安排成packages

4

2 回答 2

2

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

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

于 2013-06-28T16:58:49.477 回答
1

您可以在项目设置中设置源和二进制文件夹。对于范围,您可以使用命名空间。命名空间非常适合防止名称冲突并为您的程序提供逻辑结构,但它不强制物理文件位置。要强制执行物理文件结构,您可以在文件资源管理器中手动创建它,然后将这些文件添加到您的解决方案中。但这里有一个技巧:您可能想要包含任意文件夹中的文件,并且您不想总是提供完整地址或类似“....\Folder\file.h”的内容。相反,设置您的包含目录并在其中创建包含 - 每个头文件没有扩展名的文件,并在内部指定头文件的路径。从程序的其余部分,您可以简单地执行#include Myfile(“MyFile”周围应该有尖括号,

于 2013-06-28T17:01:19.177 回答