09 2019 档案

摘要:最近看了下c++11的线程。看了不少博客,这里会引用到CSDN里Nine-days博客里的demo。 notify_one:唤醒等待线程中的一个。 notify_all:唤醒所有等待的线程。 wait:等待。需要其它的接口来唤醒。 通过main函数,知道实例化了3个线程。线程A,B,C在创建后被阻塞 阅读全文
posted @ 2019-09-29 17:01 N_zero 阅读(2564) 评论(0) 推荐(0)
摘要:借鉴了别人的。https://blog.csdn.net/zhouyongku/article/details/44857821 头文件 实现文件 测试 为保持和GetStr格式一致,可添加如下接口 接口实现 调用 阅读全文
posted @ 2019-09-23 16:32 N_zero 阅读(4218) 评论(0) 推荐(0)
摘要:可以看到支持的vs2019. 给premake创建链接 前面是premake5执行文件的绝对路径。后面是环境变量里的路径之一。 学习网站:https://github.com/premake/premake-core/wiki/Your-First-Script 阅读全文
posted @ 2019-09-18 16:18 N_zero 阅读(1367) 评论(0) 推荐(0)
摘要:1.新的lua脚本 这里添加了平台位数的配置。 2.生成.make文件 3. 生成Makefile文件 4.指定make 5. 指定config 6.观察后发现是config赋值有问题,不需要添加_x 7.但是32位的,根据make后的信息知道,缺少文件。安装后。 阅读全文
posted @ 2019-09-18 15:54 N_zero 阅读(397) 评论(0) 推荐(0)
摘要:1.执行premake4指令生成.make文件 # GNU Make project makefile autogenerated by Premake ifndef config config=debug endif ifndef verbose SILENT = @ endif CC = gcc 阅读全文
posted @ 2019-09-18 14:54 N_zero 阅读(393) 评论(0) 推荐(0)
摘要:1.编写简单的测试代码,hello_world.cpp 2.直接编译运行测试代码 3.可以在控制台得到输出结果(用来测试程序是否正确,这一步可以跳过)。通过ll指令,可以看到生成的执行文件hello_world.out 4.编写premake脚本, hello_world.lua note:这里脚本 阅读全文
posted @ 2019-09-18 14:35 N_zero 阅读(523) 评论(0) 推荐(0)
摘要:执行premake脚本命令 如指令:生成windows下,32位的vs2012工程文件。 Note:--file=premake4.lua "="前后不能有空格 查看premake4的版本号 查看可以生成vs工程文件的vs版本 通过ACTIONS,可以看到最高支持vs2013. 实际用premake 阅读全文
posted @ 2019-09-18 14:01 N_zero 阅读(430) 评论(0) 推荐(0)
摘要:对两个表里的所有元素求和。 阅读全文
posted @ 2019-09-17 11:10 N_zero 阅读(4820) 评论(0) 推荐(0)
摘要:理解setmetatable 更改上面的代码 输出 输出的结果和上面是一样的。 这里的相加是两个table合并,即把第二个table里的值依次添加到第一个table中。 阅读全文
posted @ 2019-09-17 10:59 N_zero 阅读(2791) 评论(0) 推荐(0)
摘要:__newindex 元方法用来对表更新,__index则用来对表访问 。 当你给表的一个缺少的索引赋值,解释器就会查找__newindex 元方法:如果存在则调用这个函数而不进行赋值操作。 而当你给表的一个已存在的索引键赋值,则会进行赋值。 __newindex 元方法用来对表更新:1.添加新的索 阅读全文
posted @ 2019-09-17 10:18 N_zero 阅读(1028) 评论(0) 推荐(0)
摘要:有两个很重要的函数来处理元表: setmetatable(table,metatable): 对指定 table 设置元表(metatable),如果元表(metatable)中存在 __metatable 键值,setmetatable 会失败。 getmetatable(table): 返回对象 阅读全文
posted @ 2019-09-16 18:10 N_zero 阅读(222) 评论(0) 推荐(0)
摘要:执行结果 阅读全文
posted @ 2019-09-16 15:37 N_zero 阅读(2210) 评论(0) 推荐(0)
摘要:上叙代码,执行功能:输出指定格式的字符串。 阅读全文
posted @ 2019-09-16 14:54 N_zero 阅读(2575) 评论(0) 推荐(0)
摘要:上叙代码,执行的功能:获取变长数组的平均值。 上篇中有通过#arg,获取变长数组的长度;这篇中,select("#", ...),获取变长数组的长度。 阅读全文
posted @ 2019-09-16 14:51 N_zero 阅读(972) 评论(0) 推荐(0)
摘要:上叙代码,执行的功能:返回数组的最大值及最大值的索引。 上叙代码,执行的功能:返回一个变长字符数组的平均值。 1. print("total input:" .. #arg .. "numbers.") --#arg, 可以获取数组的长度;字符和number类型数据输出。 2.result/#arg 阅读全文
posted @ 2019-09-16 14:16 N_zero 阅读(4230) 评论(0) 推荐(0)
摘要:回顾之前的匿名函数作为函数参数,可以发现它们使用上很接近。这里只是将匿名函数赋给了一个变量,然后这个变量传递给调用函数。 阅读全文
posted @ 2019-09-16 11:39 N_zero 阅读(6235) 评论(0) 推荐(0)
摘要:变量在使用前,必须在代码中进行声明,即创建该变量。 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值。 Lua 变量有三种类型:全局变量、局部变量、表中的域。 Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。 局部变量的作用域 阅读全文
posted @ 2019-09-16 10:58 N_zero 阅读(171) 评论(0) 推荐(0)
摘要:(学习网站说明:function 可以以匿名函数(anonymous function)的方式通过参数传递) 这里可能有点不好理解。 首先,定义了一个testfun函数,函数有两个参数。 然后就是,匿名函数;在调用testfun函数是,第二个参数是个匿名函数。 1.这个函数没有名称; 2.匿名函数的 阅读全文
posted @ 2019-09-16 10:43 N_zero 阅读(3562) 评论(0) 推荐(0)
摘要:这两段代码都可以正常执行,且结果是一样的。 阅读全文
posted @ 2019-09-16 10:07 N_zero 阅读(1622) 评论(0) 推荐(0)
摘要:执行结果 通过执行结果可以知道 阅读全文
posted @ 2019-09-16 09:44 N_zero 阅读(198) 评论(0) 推荐(0)
摘要:table 不会固定长度大小,有新数据添加时 table 长度会自动增长,没初始的 table 都是 nil 阅读全文
posted @ 2019-09-16 09:10 N_zero 阅读(992) 评论(0) 推荐(0)
摘要:1.交互模式 1.在交互时模式时,表不用加local关键字来修饰。 2.脚本模式时,表也可以不加local关键字修饰。 3.从上面可以看到对表进行for循环的格式 for key, val in pairs(变量) do print(输出格式) end 阅读全文
posted @ 2019-09-12 16:02 N_zero 阅读(735) 评论(0) 推荐(0)