所以我想使用string class
multiset template
和C++.
我的原始代码使用Python
从C
连接到ctypes
,现在我尝试将C
与C++
对接。 (如果Python
和C++
之间有任何直接接口,我会欢迎这个建议,但扫描了几个Stack Overflow和Stack Exchange,我发现这种方法更可行。
@ n.m在评论中提供了解决方案,但我仍然想知道是否有可能与C& C接口。用于教育目的的C ++)
所以这是一个简单的例子来重现当我尝试与字符串类合并时会发生什么...
ex.c
#include <stdio.h>
#include <stdlib.h>
void cppstr(char *);
void str(char *x) {
cppstr(x);
}
int main() {
char *x;
x = (char *)malloc(sizeof(char)*1024);
str(x);
return 0;
}
以上是我的c档。
ex.cpp
#include <string>
#include <cstring>
using namespace std;
extern "C" void cppstr(char *s) {
string x = "HELLO" + "WORLD";
strcpy(s, x.c_str());
}
上面是cpp文件。
如果我使用gcc
或g++
进行编译,则它不会编译,而是会提供与字符串相关的链接器错误。
compiler ex.c ex.cpp
string和multiset的解决方案是什么?