File tree 2 files changed +75
-0
lines changed 2 files changed +75
-0
lines changed Original file line number Diff line number Diff line change
1
+ .PHONY : build rebuild clean
2
+
3
+ default :
4
+ @echo " ======================================="
5
+ @echo " Please use 'make build' command to build it.."
6
+ @echo " Please use 'make rebuild' command to build it.."
7
+ @echo " Please use 'make clean' command to clean all."
8
+ @echo " ======================================="
9
+
10
+ # 当您使用Make build、rebuild、clean时, 这里会被调用.
11
+ # 所以, 您应该定义一套合理的脚本用于3rd内的库进行维护.
12
+
13
+ build :
14
+ @echo " Done."
15
+
16
+ rebuild :
17
+ @echo " Done."
18
+
19
+ clean :
20
+ @echo " Done."
Original file line number Diff line number Diff line change
1
+ ## 用户自定义库目录
2
+
3
+ 此目录是用户自定义目录, cf开发者不会对3rd内部文件进行任何意义上的修改, 3rd内组织方式需要用户自行确定.
4
+
5
+ 在使用者编译cf的make build, make rebuild, make clean等命令的时候将会同时传入到3rd的Makefile内.
6
+
7
+ 3rd也为用户自定义库提供整合方式或联合编译(如有需要), 使用者在开发阶段可能会需要自己编写一套业务维护库.
8
+
9
+ 3rd的库维护者应该(至少)维护上述三个编译命令并使其正常工作. 同时, 维护者也需要至少保证以下两点:
10
+
11
+ 1. 3rd库的维护者(至少)需要保证引用名唯一性;
12
+
13
+ 2. 3rd库的维护者(至少)需要保证无(除cf)的底层特殊依赖性;
14
+
15
+ 注: 在无需编译的情况下, 使用者可以讲makefile看做一套自定义库代码整理集合. 有助于用户自行组织库目录.
16
+
17
+ ## 如何在3rd维护自己的lua库?
18
+
19
+ 1 . 将文件copy到3rd目录下(这里假设直接copy到3rd根目录, 当然也可以自行构建目录结构)
20
+
21
+ 2 . 在main.lu文件内使用``` local lib = require "3rd.you_lib_name" ```
22
+
23
+ 3 . 开始使用.
24
+
25
+ ## 如何在3rd维护自己的lua C库?
26
+
27
+ 1 . 按照lua C API开发模式开发完毕(可参考luaclib内的文件).
28
+
29
+ 2 . 将源码copy到3rd目录下, 并在修改``` 3rd/Makefile ``` 进行进行联合编译.
30
+
31
+ 3 . 编译完成之后, 执行自己定义的脚本整理文件与路径.
32
+
33
+ 4 . 在main.lu文件内使用``` local lib = require "3rd.you_lib_name" ```
34
+
35
+ 5 . 开始使用.
36
+
37
+ ## 最简单3rd用户库编写实例
38
+
39
+ 首先, 在3rd目录下新建一个名为``` printer.lua ``` 的文件, 其内容如下:
40
+
41
+ ``` lua
42
+ return function (...)
43
+ return print (... )
44
+ end
45
+ ```
46
+
47
+ 然后, 清空``` script/main.lua ``` 内的所有内容, 然后输入以下内容:
48
+
49
+ ``` lua
50
+ local printer = require " 3rd.printer"
51
+
52
+ printer (" 这是我在3rd内编写的库" )
53
+ ```
54
+
55
+ 最后, 使用``` ./cfadmin ``` 命令运行并查看效果.
You can’t perform that action at this time.
0 commit comments