gpt4 book ai didi

c++ - C++中类或函数的可访问性是如何控制的

转载 作者:行者123 更新时间:2023-11-28 07:26:11 25 4
gpt4 key购买 nike

使用像 C# 这样的语言。您可以将 public 或 internal 放在类的前面来控制类的访问级别。这是如何在 C++ DLL 中完成的?

最佳答案

大概您基本上是在询问如何从 DLL 中导出类。

在那种情况下,大多数 Windows 编译器(例如 VC++、MinGW)使用 __declspec(dllexport) 来完成这项工作。

为了反射(reflect)这一点,客户端代码需要将类声明为 __declspec(dllimport)。通常你会得到类似这样的结果:

#ifdef BUILD_DLL
#define DLL __declspec(dllexport)
#else
#define DLL __declspec(dllimport)
#endif

DLL class whatever {
// ...
};

...在 header 中,然后用于构建 DLL 的 make 文件将定义 BUILD_DLL:

cflags += /DBUILD_DLL

关于c++ - C++中类或函数的可访问性是如何控制的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com