Всякий раз, когда я создаю dll в c ++, экспортируемые функции оформляются. Как получить недекорированные функции.
class Trying{
private:
void xyz();
public:
static __declspec(dllexport) int WriteUserData(int data);
static __declspec(dllexport) string SomeFunction(string data);
}
Я экспортирую только две публичные c функции WriteUserData
и SomeFunction
. Но при экспорте я получаю оформленные имена, такие как ?WriteUserData@@@@SB@@l
В большинстве постов упоминается об использовании extern "C"
как extern "C"static __declspec(dllexport) int WriteUserData(int data);
, но они используют его в функциях, которые находятся вне какой-либо функции. Я не могу поместить extern "C"
перед функциями внутри класса, так как это дает ошибку linkage specification is not allowed
.