类声明中的BOOST_FILESYSTEM_DECL是什么意思
What does BOOST_FILESYSTEM_DECL in class declaration mean?
我找到了以下代码:
class BOOST_FILESYSTEM_DECL path
{
};
通常类是这样定义的:
class Baloon
{
};
如何在类声明中有两个术语?有人知道BOOST_FILESYSTEM_DECL
的用途(提升库)吗?
如果你看看它是如何定义的,一切都会很清楚:
#ifdef BOOST_HAS_DECLSPEC // defined in config system
// we need to import/export our code only if the user has specifically
// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost
// libraries to be dynamically linked, or BOOST_FILESYSTEM_DYN_LINK
// if they want just this one to be dynamically liked:
#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_FILESYSTEM_DYN_LINK)
// export if this is our own source, otherwise import:
#ifdef BOOST_FILESYSTEM_SOURCE
# define BOOST_FILESYSTEM_DECL __declspec(dllexport)
#else
# define BOOST_FILESYSTEM_DECL __declspec(dllimport)
#endif // BOOST_FILESYSTEM_SOURCE
#endif // DYN_LINK
#endif // BOOST_HAS_DECLSPEC
//
// if BOOST_FILESYSTEM_DECL isn't defined yet define it now:
#ifndef BOOST_FILESYSTEM_DECL
#define BOOST_FILESYSTEM_DECL
#endif
如您所见,它是一个宏。它扩展到__declspec(dllexport)
或__declspec(dllimport)
或空,具体取决于其他宏。有关 declspec 说明符的更多详细信息,请参阅此答案。简而言之,动态链接需要特定于平台的功能。
它
实际上是一个计算结果为 __declspec(dllimport)
或 __declspec(dllexport)
的宏,它基本上被 Boost 库用来告诉编译器导出(对于他们自己的代码)或导入(对于外部代码)。
它是一个宏;有关定义,请参见此处。
它从共享库(dll)控制类的公开;基本上,它将在构建boost时成为dllexport
的__declspec()
(或类似,取决于平台),或者在客户端代码中使用时dllimport
。
BOOST_FILESYSTEM_DECL可能是一个宏,查找声明:
#define BOOST_FILESYSTEM_DECL
看看它是什么意思。
相关文章:
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- std::filesystem::copy throws filesystem_error
- C++将目录中的所有文件与::filesystem进行比较
- <filesystem> 在 clang 6 和 10 上 #include 错误
- 在带有尾部斜杠的路径上返回 std::filesystem::create_directories() 的值
- std::filesystem 和 std::experimental::filesystem 之间的路径差异
- 如何将 std::filesystem::p ath 转换为 LPCSTR,以便在 LoadLibrary() 变体之一
- 无法使用<filesystem>函数
- [decl.constexpr].5 到底是什么意思?
- 不能将C++的"std::filesystem"库与介子构建一起使用
- Visual Studio 2019 C++ and std::filesystem
- 'std::filesystem::d irectory_iterator' 编译器问题
- std::filesystem::create_directories Visual Studio 2017
- 如何获取 std::filesystem::p ath 中的最后一个目录?
- 为什么目录中的 std::filesystem::file_size 留给实现?
- 标头中有哪些固有的安全漏洞<filesystem>?
- 如何在 C++17 中检索 std::filesystem::file_time_type 的时钟类型
- std::filesystem::directory_迭代器链接器问题(C++17)
- 如何使用 in C++ 访问相对父目录<filesystem>
- 传递 boost::filesystem::p ath 到 boost::p rocess::child 会导致 Win