1 Star 1 Fork 0

eflask / aadoc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
cn.search-data.min.f5f93838a214da7981d7bd55acf1e881dd3808d702345c2abd752212277781ed.json 17.29 KB
一键复制 编辑 原始数据 按行查看 历史
签约幸福 提交于 2022-05-15 19:26 . x
[{"id":0,"href":"/doc/1base/","title":"基础命令","section":"AALib 参考文档","content":"一些常用命令\n#拼接变量\r#A_变量到文本E\rA_变量到文本/A_变量到文本E比易语言拼接文本的方式快30%\n〈文本型〉 A_变量到文本E (通用型 参数,... ) 将变量拼接成文本,并用|分隔。可以无限添加变量,支持所有易语言基础数据类型。 \r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e示例1\"),\"\\r\\n\\r\\n.版本 2\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 test\\r\\n.局部变量 整数, 整数型\\r\\n.局部变量 小数, 小数型\\r\\n.局部变量 字节集, 字节集\\r\\n.局部变量 日期, 日期时间型\\r\\n.局部变量 k, 长整数型\\r\\n.局部变量 text, 文本型\\r\\n.局部变量 k2, 长整数型\\r\\n.局部变量 k3, 长整数型\\r\\n\\r\\n\\u0027 测速 ()\\r\\n\\u0027 返回 ()\\r\\n整数 = 1\\r\\n小数 = 1.2\\r\\n字节集 = { 1, 2, 3 }\\r\\ntext = A_变量到文本E (“输出 | ”, “整数:”, 整数, “ 小数:”, 小数, “ 字节集:”, 字节集, “ 日期:”, 日期, #换行符)\\r\\n输出调试文本 (text)\\r\\n\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r结果:输出 | |整数:|1| 小数:|1.200000| 字节集:|01 02 03 | 日期:|1899-00--1 -1👎-1|\n#A_变量到文本\r〈文本型〉 A_变量到文本E (通用型 参数,... ) 将变量拼接成文本。可以无限添加变量,支持所有易语言基础数据类型。 \r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e示例2\"),\"\\r\\n.版本 2\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 test\\r\\n.局部变量 整数, 整数型\\r\\n.局部变量 小数, 小数型\\r\\n.局部变量 字节集, 字节集\\r\\n.局部变量 日期, 日期时间型\\r\\n.局部变量 k, 长整数型\\r\\n.局部变量 text, 文本型\\r\\n.局部变量 k2, 长整数型\\r\\n.局部变量 k3, 长整数型\\r\\n\\r\\n\\r\\n整数 = 1\\r\\n小数 = 1.2\\r\\n字节集 = { 1, 2, 3 }\\r\\ntext = A_变量到文本E (“输出 | ”, “整数:”, 整数, “ 小数:”, 小数, “ 字节集:”, 字节集, “ 日期:”, 日期, #换行符)\\r\\n输出调试文本 (text)\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r结果:输出 | 整数:1 小数:1.200000 字节集:010203 日期:1899-00--1 -1👎-1\n#任意类型传参\r#A_数据到指针\r调用格式: 〈整数型〉 A_数据到指针 (通用型变量 数据)\r将数据转到指针,原有自定义类型会被释放.注意:不支持自定义类型嵌套、自定义类型中包含数组! #A_指针到数据\r调用格式: 〈逻辑型〉 A_指针到数据 (通用型变量 数据,整数型 指针)\r注意:不支持自定义类型嵌套、自定义类型中包含数组! \r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e多线程传参\"),\"\\r\\n.版本 2\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 _按钮1_被单击\\r\\n\\r\\n.计次循环首 (100000, )\\r\\n 长整数测试 ()\\r\\n.计次循环尾 ()\\r\\n\\r\\n.子程序 长整数测试\\r\\n.局部变量 int64, 长整数型\\r\\n\\r\\nint64 = 12345678910\\r\\nA_协程_启动 (\\u0026子程序1, A_数据到指针 (int64))\\r\\n\\r\\n\\r\\n.子程序 子程序1\\r\\n.参数 p, 整数型\\r\\n.局部变量 int64, 长整数型\\r\\n\\r\\nA_指针到数据 (int64, p)\\r\\n.如果真 (int64 ≠ 12345678910)\\r\\n 信息框 (A_变量到文本E (“err”, int64), 0, , )\\r\\n.如果真结束\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r注意 A_数据到指针和A_指针到数据要成对出现\n#内存读写\r 〈无返回值〉 A_写内存数据 (通用型 参_写入数据,整数型 参_内存指针)\r〈整数型〉 A_读指针整数 (整数型 参_内存指针)\r〈小数型〉 A_读指针小数 (整数型 参_内存指针)\r〈逻辑型〉 A_读指针逻辑 (整数型 参_内存指针)\r〈长整数型〉 A_读指针长整 (整数型 参_内存指针)\r〈短整数型〉 A_读指针短整 (整数型 参_内存指针) 〈双精度小数型〉 A_读指针双精 (整数型 参_内存指针)\r〈字节型〉 A_读指针字节 (整数型 参_内存指针)\r〈日期时间型〉 A_读指针日期 (整数型 参_内存指针) "},{"id":1,"href":"/about/co/","title":"简介","section":"关于","content":"#AAlib 是什么\rAAlib 是一个优雅、高效的 易语言支持库,它实现了类似go的协程、高效的内存池、变量的快速拼接文本、任意类型到指针传递参数、Rjson、线程安全哈希表、通用数据库连接池等功能。\n#AAlib 的发展历程\r v1.0.0 2021/9/15 v1.2.0 2021/11/7 v1.5.0 2022/1/17 v1.5.3 2022/2/16 v1.5.4 2022/2/27 v1.6.0 2022/3/10 v1.6.1 2022/3/12 v1.6.2 2022/3/15 v1.6.3 2022/4/21 v1.6.4 2022/5/8 #快速上手\r 下载 aalib_v1.6.4 拷贝 lib、 static_lib到易语言目录,在工具-\u0026gt;支持库配置 -\u0026gt; AAlib 勾选。 \r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"eaa\"),\"\\r\\n.版本 2\\r\\n.支持库 \\r\\n\\r\\n.子程序 _按钮1_被单击\\r\\n\\r\\nA_LOG (0, “1234567810111212345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718123456781011121314151617181234567810111213141516171812345678101112131415161718131415161718”)\\r\\n延时 (100)\\r\\nA_LOG (1, “12345678”)\\r\\n延时 (100)\\r\\nA_LOG (2, “12345678”)\\r\\n延时 (100)\\r\\nA_LOG (3, “12345678”)\\r\\nA_LOG (1, 1, “2”, 3.141592678)\\r\\n输出调试 (1, 1, “2”, 3.141592678)\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r#更新日志\r"},{"id":2,"href":"/doc/2mimalloc/","title":"内存池","section":"AALib 参考文档","content":"mimalloc 是微软研究院在 2019 年发表并开源的一个新的内存分配库:\n 性能大大优于市面上其他 memory allocator\n 比 tcmalloc 快 7% 三个局部存储的分片的 free list\n 增加数据访问局部性 (locality) 减少访问竞争 支持性能优化到极致的 alloc 和 free 的 fast path 引入一个时间节奏(temporal cadence),使分配器适时离开 fast path 来处理一些维护性的任务 #注意\rmalloc() 与 HeapAlloc()的区别\n malloc()(和其他 C 运行时堆函数)依赖于模块,这意味着如果您在一个模块(即 DLL)的代码中调用 malloc(),那么您应该在同一模块的代码中调用 free()。 #malloc\r#A_MI_申请内存\rMimalloc 申请内存\n〈整数型〉 A_MI_申请内存 (整数型 大小,逻辑型 清零)\n#A_MI_释放内存\rMimalloc 释放内存\n〈无返回值〉 A_MI_释放内存 (整数型 地址)\n#A_MI_取内存大小\r取 MIMALLOC 申请的内存 占用字节数\n〈整数型〉 A_MI_取内存大小 (整数型 指针)\n#A_MI_重置内存\r重置 MIMALLOC 申请的内存尺寸\n〈整数型〉 A_MI_重置内存 (整数型 指针,整数型 大小,逻辑型 清零)\n#Heap\r堆操作\n#A_MI_堆_创建\r〈整数型〉 A_MI_堆_创建 ()\n#A_MI_堆_删除\r〈无返回值〉 A_MI_堆_删除 (整数型 堆句柄)\n#A_MI_堆_销毁\r〈无返回值〉 A_MI_堆_销毁 (整数型 堆句柄)\n#A_MI_堆_申请内存\r〈整数型〉 A_MI_堆_申请内存\n#A_MI_堆_重置内存\r〈整数型〉 A_MI_堆_重置内存 (整数型 堆句柄,整数型 指针,整数型 新尺寸,逻辑型 清零)\n#示例\r\r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e示例1\"),\"\\r\\n.版本 2\\r\\n.支持库 spec\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 内存申请测速\\r\\n.局部变量 addr, 整数型\\r\\n.局部变量 i, 整数型\\r\\n.局部变量 计时, 计时\\r\\n.局部变量 s, 长整数型\\r\\n.局部变量 s2, 长整数型\\r\\n\\r\\n计时.开始计时 ()\\r\\n.计次循环首 (1000000, i)\\r\\n addr = 申请内存 (i × 10, 假)\\r\\n 释放内存 (addr)\\r\\n.计次循环尾 ()\\r\\ns = 计时.取运行毫秒 ()\\r\\n计时.开始计时 ()\\r\\n.计次循环首 (1000000, i)\\r\\n addr = A_MI_申请内存 (i × 10, 假)\\r\\n A_MI_释放内存 (addr)\\r\\n.计次循环尾 ()\\r\\ns2 = 计时.取运行毫秒 ()\\r\\n编辑框1.加入文本 (A_变量到文本E (“内存申请测速:”, “易”, s, “mimalloc”, s2, #换行符))\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r"},{"id":3,"href":"/about/contact/","title":"联系","section":"关于","content":"联系方式\n Email: 494145471@qq.com QQ群: 202546347 "},{"id":4,"href":"/doc/3_%E5%8D%8F%E7%A8%8B/","title":"协程","section":"AALib 参考文档","content":"基于cocoyaxi 协程库\n#基本概念\r 协程是运行于线程中的轻量级调度单位。 协程之于线程,类似于线程之于进程。 一个进程中可以存在多个线程,一个线程中可以存在多个协程。 协程所在的线程一般被称为调度线程。 协程发生 io 阻塞或调用 sleep 等操作时,调度线程会挂起此协程。 协程挂起时,调度线程会切换到其他等待中的协程运行。 协程的切换是在用户态进行的,比线程间的切换更快。 协程非常适合写网络程序,可以实现同步的编程方式,不需要异步回调,大大减轻了程序员的思想负担。\nco 协程库实现的是一种类似 golang 的协程,有如下特性:\n 支持多线程调度,默认线程数为系统 CPU 核数。 共享栈,同一线程中的协程共用若干个栈(大小默认为 1MB),内存占用低,Linux 上的测试显示 1000 万协程只用了 2.8G 内存(仅供参考)。 协程创建后,始终在同一个线程中运行,而不会切换到其他线程。 各协程之间为平级关系,可以在任何地方(包括在协程中)创建新的协程。 #用途\r 协程的优势在于可以类似线程的方式无限创建(千万个协程),而线程不能无限开易语言中也就几千线程多了太多会崩。 在阻塞场景下协程特性会有很大优势,在无阻塞的场景下效率比线程池要低10%左右。 #协程API\r#A_协程_启动\r〈无返回值〉 A_协程_启动 (子程序指针 函数指针,整数型 参数)\n#A_协程_延时\r〈无返回值〉 A_协程_延时 (长整数型 参数)\n#A_协程_取协程ID\r〈整数型〉 A_协程_取协程ID ()\n此函数返回当前协程的 id,此函数一般在协程中调用,在非协程中调用时,返回值是 -1。\n可以用于判断代码是在协程内还是线程内。\n#示例\r\r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e协程示例\"),\"\\r\\n.版本 2\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 _按钮2_被单击\\r\\n\\r\\nA_协程_启动 (\\u0026子程序2, 8)\\r\\n\\r\\n.子程序 子程序2\\r\\n.参数 a, 整数型\\r\\n\\r\\n\\u0027 协程_延时 (5000)\\r\\n信息框 (到文本 (a), 0, , )\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r#协程锁\r#A_协程_锁_创建\r〈整数型〉 A_协程_锁_创建 ()\n#A_协程_锁_加锁\r〈无返回值〉 A_协程_锁_加锁 (长整数型 锁句柄)\n#A_协程_锁_解锁\r〈无返回值〉 A_协程_锁_解锁 (长整数型 锁句柄)\n#A_协程_锁_销毁\r〈无返回值〉 A_协程_锁_销毁 (长整数型 锁句柄)\n#示例\r操作全局对象要加锁。 \r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e协程锁示例\"),\"\\r\\n.版本 2\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 _按钮4_被单击\\r\\n.局部变量 a, 整数型\\r\\n\\r\\na = A_协程_锁_创建 ()\\r\\nA_协程_启动 (\\u0026子程序1, a)\\r\\nA_协程_启动 (\\u0026子程序3, a)\\r\\n\\r\\n.子程序 子程序1\\r\\n.参数 a, 整数型\\r\\n\\r\\nA_协程_锁_加锁 (a)\\r\\n信息框 (“2”, 0, , )\\r\\nA_协程_锁_解锁 (a)\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r#协程事件\r#A_协程_事件_创建\r〈整数型〉 A_协程_事件_创建 ()\n#A_协程_事件_触发\r〈无返回值〉 A_协程_事件_触发 (整数型 句柄,整数型 附加数据)\n#A_协程_事件_等待\r〈逻辑型〉 A_协程_事件_等待 (整数型 句柄,整数型 等待时间,整数型变量 附加数据)\n#A_协程_事件_销毁\r〈无返回值〉 A_协程_事件_销毁 (整数型 句柄)\n#示例\r\r\r\r\r\r\r\rvar codes = Ecode.create();\rfunction putin() {\rEcodeSetCode(document.getElementById(\"e协程同步事件\"),\"\\r\\n.版本 2\\r\\n.支持库 aalib\\r\\n\\r\\n.子程序 协程同步事件测\\r\\n.局部变量 句柄, 整数型\\r\\n.局部变量 子程序6, 子程序指针\\r\\n\\r\\n句柄 = A_协程_事件_创建 ()\\r\\n\\r\\nA_协程_启动 (\\u0026子程序6, 句柄)\\r\\nA_协程_启动 (\\u0026子程序7, 句柄)\\r\\n\\r\\n.子程序 子程序6\\r\\n.参数 句柄, 整数型\\r\\n.局部变量 附加数据, 整数型\\r\\n.局部变量 txt, 文本型\\r\\n.局部变量 tt, 逻辑型\\r\\n\\r\\n\\r\\ntt = A_协程_事件_等待 (句柄, -1, 附加数据)\\r\\n.如果 (tt = 真 且 附加数据 ≠ 0)\\r\\n txt = 到文本 (读字节集 (附加数据))\\r\\n 信息框 (A_变量到文本E (tt, txt), 0, , )\\r\\n.否则\\r\\n\\r\\n.如果结束\\r\\n\\r\\n\\u0027 协程_事件_销毁 (句柄) 如果等待超时 不为-1 要注意不要提前销毁句柄 触发无效句柄会崩溃\\r\\n\\r\\n.子程序 子程序7\\r\\n.参数 句柄, 整数型\\r\\n.局部变量 addr, 整数型\\r\\n\\r\\n\\u0027 协程_延时 (1000)\\r\\naddr = 写字节集 (到字节集 (“附加数据!”))\\r\\nA_协程_事件_触发 (句柄, addr)\\r\\n\\r\\n\");\rcodes.trans();\r}\rputin();\r\r\r"},{"id":5,"href":"/about/sponsor/","title":"赞助💕","section":"关于","content":"#赞助\rAAlib 是一个个人项目,如果您有意向赞助,可以联系 签约幸福(494145471) 。非常感谢🙏\n#特别赞助\r#咖啡\r如果您喜欢 AAlib,也可以考虑给作者来杯咖啡,非常感谢🙏\n"},{"id":6,"href":"/doc/4_%E6%97%A5%E5%BF%97/","title":"日志","section":"AALib 参考文档","content":"高效日志\n"},{"id":7,"href":"/doc/5_%E6%AD%A3%E5%88%99/","title":"正则","section":"AALib 参考文档","content":"正则\n"},{"id":8,"href":"/doc/6_%E7%BC%96%E7%A0%81%E8%BD%AC%E6%8D%A2/","title":"编码转换","section":"AALib 参考文档","content":"编码转换\n"},{"id":9,"href":"/doc/7_rjson/","title":"Rjson","section":"AALib 参考文档","content":"rjson\n"},{"id":10,"href":"/doc/8_%E9%85%8D%E7%BD%AE/","title":"配置","section":"AALib 参考文档","content":"使用Rjosn作为配置文件\n"},{"id":11,"href":"/doc/9_%E8%AF%BB%E5%86%99%E9%94%81/","title":"读写锁","section":"AALib 参考文档","content":"读写共享锁\n"},{"id":12,"href":"/doc/10_%E5%93%88%E5%B8%8C%E8%A1%A8/","title":"哈希表","section":"AALib 参考文档","content":"哈希表\n"},{"id":13,"href":"/doc/11_%E6%95%B0%E6%8D%AE%E5%BA%93/","title":"数据库","section":"AALib 参考文档","content":"scoi数据库\n"},{"id":14,"href":"/doc/12_%E5%8F%8C%E7%AB%AF%E9%98%9F%E5%88%97/","title":"双端队列","section":"AALib 参考文档","content":"双端队列\n"}]
1
https://gitee.com/qianyuexingfu/aadoc.git
git@gitee.com:qianyuexingfu/aadoc.git
qianyuexingfu
aadoc
aadoc
master

搜索帮助