首页 > 解决方案 > 如何使用未修饰的导出函数在 C++ 中创建 dll

问题描述

每当我在 c++ 中创建 dll 时,导出的函数都会被修饰。我怎样才能获得未修饰的功能。

class Trying{
private:
    void xyz();
public:
    static __declspec(dllexport) int WriteUserData(int data);
    static __declspec(dllexport) string SomeFunction(string data);
}

我只导出两个公共函数WriteUserDataSomeFunction. 但是在导出时,我得到了像?WriteUserData@@@@SB@@l 大多数帖子提到的关于使用extern "C"as 的修饰名称,extern "C"static __declspec(dllexport) int WriteUserData(int data);但他们在任何函数之外的函数中使用它。我不能把extern "C"它放在类内的函数之前,因为它给出了错误linkage specification is not allowed

标签: c++dllname-decoration

解决方案


推荐阅读