它是什么SOMTEMPLATE_VR_API
What is it SOMTEMPLATE_VR_API?
我在虚幻引擎C VR实现中发现了这个宏。有人可以解释这个宏的目标吗?我什么时候应该使用此宏?为什么我在虚幻引擎来源找不到这个宏?
UCLASS()
class SOMTEMPLATE_VR_API className :
_api宏用于将类和功能暴露于其他模块。
来自文档:
思考这些说明符的最简单方法是将它们用于将功能,类或数据标记为模块DLL文件的公共。如果将引擎模块中的功能标记为Engine_api,则任何导入引擎的模块都可以直接访问该功能。
这些仅在模块化模式(桌面平台上的DLL文件(时才使用。相反的是我们所说的单片模式,该模式将所有代码放在一个可执行文件中。构建的类型由UnrealBuildTool设置和/或平台控制并构建配置。
实际的API宏等于以下一个,具体取决于UBT的代码如何编译:
__declspec( dllexport )
,以模块化模式编译模块代码。
__declspec( dllimport )
,包括您要导入的模块的公共模块标头。空,以整体模式编译
API宏仅对于从另一个模块导入的模块才有意义。核心模块是一个很好的例子 - UE4中的几乎所有其他模块都将核心指定为其 *.build.cs文件中的导入依赖项。
许多模块永远不需要静态导入(例如sceneoutliner模块。(我们将这些模块称为动态加载的模块。动态加载的模块很棒,因为可以在启动时发现它们(有点像插件(,并且通常可以随时重新加载。
API宏主要用于较旧的代码,以允许较新的模块从其DLL访问它。在较新的代码中,API宏的使用量要少得多,而是设置不错的接口层以在DLL边界上公开功能。
相关文章:
- 用于访问容器<T>数据成员的正确 API
- 使用Unreal C++获取VR耳机的世界位置/方向
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++MySQL C api用户输入行
- 如何使用 AWS Transcribe C++ API 中的'StartTranscriptionJobRequest'?
- 将std::string传递给WriteConsole API
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 在gtest.中使用fff.h模拟系统API
- 有没有任务栏API可以立即应用注册表更改
- C++win32 API创建多个类似视口的窗口
- 使用libcurl提交批量url的正确BING Api POST url是什么
- 如何将真正的字符串从python c-api转换为python脚本
- 使用Qt框架在c ++类中创建API调用
- Libreoffice API (UNO):需要更改用户的 xTextField 文本
- 使用 WIN32 API (C/C++) 对特定树视图项进行着色
- 使用 Python Extension API 包装复杂C++类
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 第三方 API 中的编译错误 - Visual Studio
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- Using google-vr from the fmod c++ api