0

我有几个想法:

char* test = "testInteger(5).workOnReturn("doIt")[10]"

int ret = execute(test);

如果我使用“extern”关键字会怎样?

假设我有一大堆 C++ 实现和类。难道我不能在 C 中用“extern”定义相同的东西并提供一个虚拟实现,并且在运行时,它会使用实际实现访问 C++ 库吗?

4

2 回答 2

0

也许您可以自定义您的 GCC 编译器(例如,使用MELT扩展)以某种方式为您的库生成 C 接口(也许通过使用您自己的#pragma-s 注释相关的 C++ 函数 ....)

但是您的问题太模糊,无法得到更准确的答案。

你的 C++ 库是什么,它应该如何在 C++ 中使用?

看看其他 C++ 库如何与 C接口例如查看PPL的源代码

于 2013-03-10T08:54:10.070 回答
0

如果你想从 C 中使用 C++,它只能以极其有限的方式完成,并且只要 C++ 代码是为它显式构建的(这意味着基本上放弃了大部分用于 C++ C++ 的东西)。在你的情况下不会发生。

你的出路是只使用 C++ 或为 C 获取一个库。其他任何事情都会造成太大的伤害而没有任何意义。

于 2013-03-10T15:19:55.900 回答