什么是3rd目录?

此目录是用户自定义目录, cf开发者不会对3rd内部文件进行任何意义上的修改, 3rd内组织方式需要用户自行确定.

在使用者编译cf的make build, make rebuild, make clean等命令的时候将会同时传入到3rd的Makefile内.

3rd也为用户自定义库提供整合方式或联合编译(如有需要), 使用者在开发阶段可能会需要自己编写一套业务维护库.

3rd的库维护者应该(至少)维护上述三个编译命令并使其正常工作. 同时, 维护者也需要至少保证以下两点:

  1. 1. 3rd库的维护者(至少)需要保证引用名唯一性;
  2. 2. 3rd库的维护者(至少)需要保证无(除cf)的底层特殊依赖性;

注: 在无需编译的情况下, 使用者可以讲makefile看做一套自定义库代码整理集合. 有助于用户自行组织库目录.

如何在3rd维护自己的lua库?

  • 将文件copy到3rd目录下(这里假设直接copy到3rd根目录, 当然也可以自行构建目录结构)

  • 在main.lu文件内使用local lib = require "3rd.you_lib_name"

  • 开始使用.

如何在3rd维护自己的lua C库?

  • 按照lua C API开发模式开发完毕(可参考luaclib内的文件).

  • 将源码copy到3rd目录下, 并在修改3rd/Makefile进行进行联合编译.

  • 编译完成之后, 执行自己定义的脚本整理文件与路径.

  • 在main.lu文件内使用local lib = require "3rd.you_lib_name"

  • 开始使用.

最简单3rd用户库编写实例

首先, 在3rd目录下新建一个名为printer.lua的文件, 其内容如下:

  1. return function (...)
  2. return print(...)
  3. end

然后, 清空script/main.lua内的所有内容, 然后输入以下内容:

  1. local printer = require "3rd.printer"
  2.  
  3. printer("这是我在3rd内编写的库")

最后, 使用./cfadmin 命令运行并查看效果.