我有一些想法:
char* test = "testInteger(5).workOnReturn("doIt")[10]"
int ret = execute(test);
如果我使用'extern'关键字怎么办?
假设我有一大堆C ++实现和类。 我不能只用'extern'在C中定义相同的东西并提供一个虚拟实现,在运行时,它会通过实际的实现来访问C ++库吗?
答案 0 :(得分:0)
也许您可以自定义GCC编译器(例如,使用MELT扩展名)以某种方式生成到您的库的C接口(可能通过使用您自己的#pragma
-s注释相关的C ++函数... 。)
但是你的问题太模糊了,无法得到更准确的答案。
你的C ++库是什么,它应该如何在C ++中使用?
看看其他C ++库如何与 C 接口;例如查看PPL
的源代码答案 1 :(得分:0)
如果你想使用C语言中的C ++,它只能以极有限的方式完成,并且只要为它明确构建C ++代码(这意味着基本上是为了什么使C ++ C ++)。在你的情况下不会发生。
你的出路就是只使用C ++或者为C创建一个库。任何其他东西都会伤害太多而无法理解。