extern c — вызов кода C ++ из C с использованием встроенных классов и шаблонов c ++

Поэтому я хочу использовать string class а также multiset template из C++.

Мой оригинальный код интерфейсов от Python в C с помощью ctypes и сейчас я пытаюсь интерфейс C в C++, (Если есть прямое взаимодействие между Python & C++Я бы приветствовал это предложение, но, просматривая пару Stack Overflow и Stack Exchange, я обнаружил, что этот метод более осуществим.
@ n.m в комментариях предоставил решение этой проблемы, но я все еще хотел бы знать, возможно ли интерфейс 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

Какое решение для строки и мультимножества обоих?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector