正在寻找一种在C语言中访问c ++对象的方法,就像我在c ++中一样

时间:2013-03-10 08:27:59

标签: c linux

我有一些想法:

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

int ret = execute(test);

如果我使用'extern'关键字怎么办?

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

2 个答案:

答案 0 :(得分:0)

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

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

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

看看其他C ++库如何与 C 接口;例如查看PPL

的源代码

答案 1 :(得分:0)

如果你想使用C语言中的C ++,它只能以有限的方式完成,并且只要为它明确构建C ++代码(这意味着基本上是为了什么使C ++ C ++)。在你的情况下不会发生。

你的出路就是只使用C ++或者为C创建一个库。任何其他东西都会伤害太多而无法理解。