两个C ++项目可以相互引用吗?

时间:2016-03-13 17:53:49

标签: c++ eclipse coding-style

我在eclipse中有两个独立的项目。 项目A需要参考项目B,项目B需要参考项目A.

  

相互推荐是否可行和明智?

更新

ProjectB使用许多类的项目A(类型的库),而项目A只需要特定的项目类B(因为项目A在项目B中收到了类的对象,因此项目需要该类到type_cast并执行某些操作)

2 个答案:

答案 0 :(得分:1)

不确定是否可以使用eclipse,我猜不是。但这肯定不是一个好主意。

引用应朝一个方向,避免循环。我们假设你想引用B中A的代码,但发现B也需要来自A的代码。你可以尝试将这些代码部分从A移动到B.

如果没有意义,请使用A和B使用的公共代码创建一个新项目C.

顺便说一句,这与C ++并不真正相关。它适用于任何编程语言,甚至是非编程项目。

编辑:在阅读了你的一条评论后,(" ......项目A只需要特定类别的项目B(因为项目A收到了班级的对象......&#34) ;)看起来你可以通过某种依赖注入来解决这个问题:

A中的类不应该依赖于B中定义的类,而应该依赖于派生B中特定类的通用接口(抽象类)。只有当B使用A时,它才会传递特定类的对象。好的,这非常简短,如果您需要更多解释,只需搜索依赖注入,这绝对是一个重要的概念。

答案 1 :(得分:1)

基本上,软件单元可以指软件单元。

项目是一个或多个软件单元的容器。项目还可以具有诸如包括目录和库(软件单元)之类的属性。

您需要重构项目,以便他们可以共享软件单元。不要担心"引用"常见的事情,如包括路径和程序设置。您可以将这些属性放入环境变量中。

如果需要共享许多函数的文件中的单个函数,请将其放入单独的文件中。与班级类似。