Skip to content

Latest commit

 

History

History
133 lines (79 loc) · 4.18 KB

README.md

File metadata and controls

133 lines (79 loc) · 4.18 KB

Cornerstone SDK

面向现代 C++ 的 Corn SDK

最新版 Cornerstone SDK v0.2.1 兼容 Corn SDK v2.6.5

下载地址


此 SDK 的部分 API 尚未经过测试,可能仍存在漏洞

欢迎提交 IssuePR,感谢您的贡献


此 SDK 采用 GN(Generate Ninja)Ninja 作为构建工具

GN 和 Ninja 已经编译好并附带在 bin 目录下,GN 和 Ninja 构建工具版权属于 © Google Inc.

如何编写插件

  • 修改 plugin.ccconfig.h

  • 运行 ./clean.cmd 来清理部分中间文件

    • 若只修改了头文件则必须在编译前运行

    • 遇到未知的编译错误时也可以尝试运行

    • 也可以在 VSCode 中执行 终端->运行任务->清理

  • 运行 ./build.cmd 来编译和链接

    • 生成的中间文件在 build/ 目录下

    • 生成的插件文件在 out/ 目录下

    • 也可以在 VSCode 中执行 终端->运行生成任务

提示

  • SilkDecode(silk解码)和 SilkEncode(silk编码)两个 API 尚未实现

  • 请勿删除事件处理函数的参数带有的 volatile 修饰符

    • 若处理易语言结构(自定义数据类型)时遇到错误,也可以考虑使用 volatile 修饰符来修饰相关指针
  • 相关 API 可通过类 API 的全局对象 api 调用,调用例子参见 plugin.cc

  • 插件信息和所需权限请在 config.h 里面修改

  • e 开头的类型均为易语言原生类型,如 ebooletext

  • C++源文件和头文件均采用 UTF8 编码,但易语言采用 GBK 编码,必要时请使用 GBKtoUTF8UTF8toGBK 函数来转换编码

    • GBKtoUTF8UTF8toGBK 函数分别可以使用简写 e2ss2e

    • etext 对象均使用 GBK 编码,string 对象通常使用 UTF8 编码

    • 相关API调用使用的参数和返回值(不包括 etext 类型)均使用 UTF8 编码

  • 需要支持 C++17 特性的编译器才能正常使用此 SDK

  • 若要修改插件文件名称,请修改 BUILD.gn

  • 如果新加入了新的 C++ 源文件(*.cc,*.cpp,*.cxx,*.c,*.C),你需要在 BUILD.gn 里声明它

    • 一般用户可以只修改 plugin.ccconfig.h
  • 可以直接在 build.cmd 里面加上复制编译后的插件到对应插件安装目录的命令

  • 如果编译缓慢,请执行 g++ xxx.h 命令,将头文件预编译成二进制

推荐的开发环境

版权

Cornerstone SDK 使用 MIT License 进行许可

版权所有 © 2020 Contributors of Cornerstone SDK

致谢