Skip to content

SDK 头文件与宏

公开头文件

SDK 只安装以下头文件:

cpp
#include <pl/Config.hpp>
#include <pl/Export.hpp>
#include <pl/Input.hpp>
#include <pl/Logger.hpp>
#include <pl/Mod.hpp>
#include <pl/ModMenu.hpp>
#include <pl/memory/Hook.hpp>
#include <pl/memory/Patch.hpp>
#include <pl/memory/Signature.hpp>

PL_EXPORT

PL_EXPORT 在支持的编译器上为符号设置默认可见性。大多数 mod 不需要直接使用; 只有需要给其它 native library 调用的符号才需要它。

cpp
#include <pl/Export.hpp>

PL_EXPORT void customVisibleFunction();

PL_REGISTER_MOD

PL_REGISTER_MOD(Type, instanceExpr) 注册生命周期对象。

cpp
#include <pl/Mod.hpp>

class MyMod {
public:
  static MyMod &instance();

  bool load();
};

PL_REGISTER_MOD(MyMod, MyMod::instance())

在一个源文件中使用一次该宏。instanceExpr 必须返回或创建一个在进程生命周期内 保持有效的对象。

被注册类型必须提供 bool load()bool enable()bool disable()bool unload() 可选。

命名

公开 SDK 遵循 Lamina C++ 风格:

项目风格
文件和类型UpperCamelCase
函数和变量lowerCamelCase
私有成员mUpperCamelCase
常量UpperCamelCase
UPPER_SNAKE_CASE