Lua中的操作系统库
这个库通过表os实现
os.clock ()
功能:返回一个程序使用CPU时间的一个近似值
例如:
local x = os.clock();
print(os.clock())
local s = 0;
for i = 1, 100000000 do
s = s + i;
end
print(string.format("elapsed time : %.2f\n", os.clock() - x));
输出:
0
elapsed time : 2.55
--------------------------------------------------------------------------------
os.date ([format [, time]])
功能:返回一个按format格式化日期、时间的字串或表
若设置time参数,则按time指定的时间格式化,否则按当前时间格式化
参数:
format:
"!":按格林尼治时间进行格式化。
"*t":将返一个带year(4位),month(1-12), day (1--31), hour (0-23), min (0-59), sec (0-61), wday (星期几, 星期天为1), yday (年内天数), and isdst (是否为日光节约时间true/false)的带键名的表; 若没有"*t"则返回一个按C的strftime函数格式化的字符串
若不带参数,则按当前系统的设置返回格式化的字符串 os.date() <=> os.date("%c")
例如:
t = os.date("*t", os.time());
for i, v in pairs(t) do
print(i, v);
end
输出:
hour 14
min 58
wday 2
day 10
month 8
year 2009
sec 18
yday 222
isdst false
对于其它的格式字符串,os.date会将日期格式化为一个字符串
例如:
print(os.date("today is %A, in %B")) -->today is Tuesday, in May
print(os.date("%x", 906000490)) -->09/16/1998
所有格式化字符串如下:
%a 一星期中天数的简写 (Wed)
%A 一星期中天数的全称 (Wednesday)
%b 月份的简写 (Sep)
%B 月份的全称 (September)
%c 日期和时间 (09/16/98 23:48:10)
%d 一个月中的第几天 (16)[0 ~ 31]
%H 24小时制中的小时数 (23)[00 ~ 23]
%I 12小时制中的小时数 (11)[01 ~ 12]
%j 一年中的第几天 (259)[01 ~ 366]
%M 分钟数 (48)[00 ~ 59]
%m 月份数 (09)[01 ~ 12]
%P "上午(am)" 或 "下午(pm)" (pm)
%S 秒数 (10)[00 ~ 59]
%w 一星期中的第几天 (3)[0 ~ 6 = 星期天 ~ 星期六]
%W 一年中的第几个星期 0 ~ 52
%x 日期 (09/16/98)
%X 时间 (23:48:10)
%y 两位数的年份 (90)[00 ~ 99]
%Y 完整的年份 (2009)
%% 字符串'%'
--------------------------------------------------------------------------------
os.difftime (t2, t1)
功能:返回t1到t2相差的秒数
例如:
t1 = os.time();
for i = 0, 10000000 do
os.time();
end
t2 = os.time();
print(os.difftime(t2, t1));
输出:
2
--------------------------------------------------------------------------------
os.execute ([command])
功能:相当于C的system函数,返回系统状态码
例如:
os.execute("pause")
输出:
按任意键继续. . .
--------------------------------------------------------------------------------
os.exit ([code])
功能:相当于C的exit函数,终止主程序,code为返回值
例如:
os.exit(1)
--------------------------------------------------------------------------------
os.getenv (varname)-
功能:返回当前进程的环境变量varname的值,若变量没有定义时返回nil
例如:
print(os.getenv("USERDOMAIN"))
print(os.getenv("SystemRoot"))
print(os.getenv("Os2LibPath"))
print(os.getenv("ProgramFiles" ))
print(os.getenv("APPDATA" ))
print(os.getenv("ALLUSERSPROFILE" ))
print(os.getenv("CommonProgramFiles" ))
print(os.getenv("COMPUTERNAME" ))
print(os.getenv("USERNAME"))
print(os.getenv("USERPROFILE" ))
print(os.getenv("ComSpec"))
print(os.getenv("LOGONSERVER" ))
print(os.getenv("NUMBER_OF_PROCESSORS" ))
print(os.getenv("OS"))
print(os.getenv("PATHEXT" ))
print(os.getenv("PROCESSOR_ARCHITECTURE" ))
print(os.getenv("PROCESSOR_IDENTIFIER" ))
print(os.getenv("PROCESSOR_LEVEL" ))
print(os.getenv("PROCESSOR_REVISION" ))
print(os.getenv("USERDOMAIN"))
print(os.getenv("SystemRoot" ))
print(os.getenv("TEMP"))
输出:
RDEV
C:\WINDOWS
nil
C:\Program Files
C:\Documents and Settings\baiyun\Application Data
C:\Documents and Settings\All Users
C:\Program Files\Common Files
BAIYUN
baiyun
C:\Documents and Settings\baiyun
C:\WINDOWS\system32\cmd.exe
http://www.cnblogs.com/whiteyun/admin/file://rdev1/
2
Windows_NT
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyw;.wlua
x86
x86 Family 15 Model 6 Stepping 5, GenuineIntel
15
0605
RDEV
C:\WINDOWS
C:\DOCUME~1\baiyun\LOCALS~1\Temp
--------------------------------------------------------------------------------
os.remove (filename)
功能:删除文件或一个空目录,若函数调用失败则返加nil加错误信息
--------------------------------------------------------------------------------
os.rename (oldname, newname)
功能:更改一个文件或目录名,若函数调用失败则返加nil加错误信息
--------------------------------------------------------------------------------
os.setlocale (locale [, category])
功能:设置程序的当前设置,函数返回最新的值,失败则返回nil
参数:
locale:一个指定当前设置的字串
"":一个空字串,当前设置被视为本地设置
"c":当前设置被视为标准c设置
nil:返回category指示设置名的当前值
category:一个描述要更改的设置名
"all"[默认], "collate", "ctype", "monetary", "numeric", "time"
--------------------------------------------------------------------------------
os.time ([table])
功能:按table的内容返回一个时间值(数字),若不带参数则返回当前时间
table的字段:
year, month, day, hour, min, sec, isdst
例如:
print(os.time());
-->1249887340
print(os.time({year=1970, month=1, day=1, hour=0}));
-->10500
--------------------------------------------------------------------------------
os.tmpname()
功能:返回一个临时文件名
相关推荐
LUA脚本支持库通常包含一系列的模块,这些模块提供了额外的函数和数据结构,例如网络通信、文件操作、日期时间处理等。 2. LUA_FNEfne库 "新LUA支持库100版LUA_FNEfne"可能是一个特定的LUA扩展库,FNEfne可能是该...
4. **C数据结构封装**:如果你有已有的C/C++库,可以编写Lua扩展来让Lua代码直接操作这些数据结构。例如,你可以创建一个新的Lua类型来代表C的结构体,然后提供一组方法来访问和修改其成员。 5. **线程安全**:在多...
8. **文件系统操作**:LuaFileSystem(LFS)库提供了一组与平台无关的文件系统操作函数,如读写文件、创建目录、遍历目录等。 9. **日志与调试**:lualogger库可以方便地记录程序运行日志,帮助开发者追踪错误和...
资源介绍:。易语言luashell.fne支持库中文名为易语言LUA扩展支持库,本易语言支持库提供LUA与易语言的交互。易语言luashell.fne支持库是一个小巧...操作系统需求: Windows。资源作者:。易语言官方论坛。资源下载:。
在LUA环境中,为了实现与JSON数据的互操作,开发者通常需要借助特定的LUA库来解析和生成JSON字符串。"LUA的JSON库"就是这样一个工具,它使得LUA程序能够方便地处理JSON格式的数据,从而与JavaScript环境或其他支持...
System库提供了对系统级操作的支持,包括但不限于日志记录、键值检测、字符串处理等。以下是一些核心功能: - **System.log(str)**:用于打印日志或调试信息,参数为待输出的字符串。 - **System.isKeyDown...
`xlua`是一个将C#的Excel操作封装为Lua调用的库,而`luaxlsx`则是纯Lua编写的,能够直接读写.xlsx文件。 1. **xlua**: 使用xlua时,你需要先在C#环境中创建Excel操作的接口,然后通过tolua++编译成动态链接库供Lua...
- `rtos`库是实时操作系统库,提供任务调度、信号量、互斥锁等实时系统的关键功能,用于编写实时性强的lua应用。 8. **uart库**: - `uart`库支持通用异步收发传输器(UART)通信,用于串行通信,比如连接串口...
Lua是一种轻量级的脚本语言,广泛应用于游戏开发、系统配置、软件扩展等多个领域。它与C++结合使用时,可以为C++程序提供灵活的脚本化能力。 首先,下载lua5.4.4的源代码压缩包,解压到本地目录。这个压缩包中应该...
- **rtos(实时操作系统库)**:提供针对实时操作系统的支持函数。 - **uart(通用异步收发传输器库)**:用于处理串口通信,如发送和接收数据。 - **adc(模拟数字转换器库)**:为模拟信号到数字信号的转换提供...
LUA 5.1.5是这个库的一个稳定版本,它支持32位操作系统,并且在给定的压缩包中提供了不同类型的库文件,以满足不同的链接需求。 压缩包内的文件主要分为三类: 1. `lua-5.1.5_Win32_vc10_lib`:这是用于静态链接的...
7. **仅测试过Linux和POSIX**: 提供者提到他们只在 Linux 和遵循 POSIX 兼容性的系统上测试过这些定制的 Lua 版本,这意味着在其他操作系统(如 Windows 或其他非 POSIX 兼容系统)上可能需要额外的适配工作。...
2. 运行 `make` 或 `gmake` 命令(根据你的操作系统和环境)来编译源代码。 3. 编译成功后,生成的 dll 文件通常位于 `src/` 或指定的输出目录下。 4. 将生成的 dll 文件复制到你的 Lua 解释器的路径或项目的库目录...
3. **版本兼容**:如果项目需要特定版本的Lua,静态库可以确保始终使用该版本,不受系统其他Lua安装的影响。 要在C/C++项目中使用“lua.lib”,你需要按照以下步骤操作: 1. **链接库**:在编译时,通过链接器指令...
在IT行业中,Lua是一种轻量级的脚本语言,常用于游戏开发、嵌入式系统以及服务器配置等场景。在处理网络通信时,数据通常以字节流的形式在网络间传输,因此了解如何在Lua中进行字节流的操作至关重要。本文将深入探讨...
1. lua51.dll:这是一个动态链接库(Dynamic Link Library),在Windows操作系统中,它是Lua运行时环境的一部分。lua51.dll包含了Lua引擎的函数实现,当你在程序中调用Lua代码时,这个库会提供必要的运行支持。它...
x86版本适用于32位操作系统,而x64版本则适用于64位操作系统。在实际应用中,根据你的项目需求和目标平台选择合适的版本进行集成。 在集成LUA5.4动态链接库到Nlua时,开发者需要注意以下几点: 1. **兼容性检查**...
在本文中,我们将深入探讨如何在界面库中运用lua,并通过实例说明其基本操作。 首先,lua是一种轻量级的脚本语言,它设计的目标是快速开发、易于嵌入、小巧高效。lua语法清晰,易于学习,特别适合用于游戏开发、...
C++封装Lua库的核心在于使用Lua提供的C API,这包括luaL_newstate、luaL_openlibs、luaL_loadbuffer或luaL_loadfile等函数来创建和管理Lua状态机,以及lua_pcall、lua_gettop、lua_settop等函数进行函数调用和栈操作...