долбиться с каждой функцией?
extern "C" class __declspec(dllexport) MyDll
Можно, но тебе надо углубиться в тему, почитай msdn. В этом случае все функции мемберы класса будут экспортироваться. Но это будут mangled имена (имя функции + типы параметров)
можно. Только extern "C" имеет другой синтаксис и неприменим к классам и структурам — только к функциям. Если его убрать, будет валидная конструкция.
Но extern "C" писать нельзя
прочитал такую штуку Создайте функцию "factory" в вашем dll, которая сделает экземпляр вашего класса и вернет указатель на него. Эта функция должна иметь префикс _declspec(dllexport).
Ошибки не будет, просто все мемберы будут extern "C++"
да ладно, там даже синтаксически скобки нужны {} extern "C" { function declaration }
Они опциональны, можно без скобок
можешь сказать, сработает ли таким образом? Создайте функцию "factory" в вашем dll, которая сделает экземпляр вашего класса и вернет указатель на него. Эта функция должна иметь префикс _declspec(dllexport).
Каким образом? Открой доку по extern, там расписаны все нюансы
каким образом сработает? Я подключу dll и вызову функцию
До этого ты показал extern перед классом. Сейчас говоришь о функции. Пора в доку, там ответы на все вопросы
я не знаю что из этого сработает, а что нет, поэтому и спрашиваю что из этого правда. Если я пропишу экстерн перед классом, как выше, мне нужно будет перед публичными ф-ями тоже экстерн прописывать, например?
https://en.cppreference.com/w/cpp/language/language_linkage
Мы ж тебе написали, что сработает
Обсуждают сегодня