本章所学命令:if case while for unit break continue五,流程控制5.1 使用read命令来接受输入使用read来把输入值分配给一个或多个shell变量: -p :指定要显示的提示 -t :TIMEOUT比如:read -p "print a filename:" file注意:read 从标准输入中读取值,给每一个单词分配一个变量
Shell 脚本的执行方式通常有如下4种:(1)bash script-name 或者 sh script-name;(2)path/script-name或者./script-name;(3)sourcescript-name或者. script-name。下面,分别介绍下这三种方式的特点:(1)bash script-name或者sh script-name这是当脚本文件本身没有可执行权限(即
转载
2024-04-28 19:01:51
104阅读
一、引言上一周应该某个特殊需求。需要在服务器端搭建一个lua执行环境。lua本身又是嵌入语言。在语言本身上又一定的局限性。所以我打算把lua嵌入到python/java中。做调研的时候,java的嵌入较为麻烦,出现了各种问题。后来确定用python来作这个环境。这样能用上python 的协程、多线程。这里说说python中嵌入lua的问题。二、环境建立python中又一个扩展叫lupa。这个扩展用
转载
2023-11-10 01:14:49
279阅读
这段时间工作的强度有所下降,倒不如说恢复到正常的工作强度,因此也给了自己一点时间去了解下其他之前没有了解过的语言——python和lua。 这两个语言,一个是号称“人生苦短,我用python”,另一个则是上到魔兽,下到愤怒的小鸟运用的脚本语言,所以都有其一定的代表性。各自编写了一个导表工具之后,在我看来,这两个语言就好像两个极端一样:当你要制作某个设备时,你是用已经能制作出现成零件的工厂,还是要
转载
2023-09-07 15:05:47
208阅读
红帽作为一家开源软件公司,一直以来都致力于推动和发展开源软件生态系统。其中,Linux和Lua作为两种重要的编程语言,也成为了红帽公司的重要工具和资源。红帽开发人员使用Linux C语言调用Lua编程语言的技术,可以实现更加复杂和灵活的功能,为软件开发带来了更大的便利性和创新性。
Linux是一种开源的操作系统内核,几乎被所有Linux发行版所采用。Linux内核由C语言编写,因此使用C语言调用
原创
2024-04-02 09:59:32
52阅读
Lua语言是一种嵌入式语言,它本身的威力有限;当Lua遇见了C,那它就展示了它的强大威力。C和Lua是可以相互调用的。第一种情况是,C语言拥有控制权,Lua是一个库,这种形式中的C代码称为“应用程序代码”;第二种情况是,Lua拥有控制权,C语言是一个库,这个时候C代码就是“库代码”。“应用程序代码”和“库代码”都使用同样的API来与Lua通信,这些API就称为C API。C API是一组能使C代码
转载
2023-11-13 16:02:31
53阅读
Linux平台下的文件操作库函数:由库来实现,在用户态执行,部分库函数需要转调系统调用函数。系统调用函数:是系统内核提供给用户访问系统管理底层硬件的接口,系统调用函数用户层只是一个接口,函数的具体实现都是由操作系统实现,并且在内核态执行。Open函数:打开(或创建)一个文件 Int open(const char *path,
转载
2024-07-11 12:10:30
41阅读
前言:又是N久没上来了,也没什么新鲜话想说。反正最近是被杭州的房价憋得抑郁,但是也是只能对自己说要“蛋腚”!今天又被这个lua调用DLL给抑郁了一把,还好网上搜来搜去,终于搜到一位“有识之士”的帖子,帮我搞定了这个“憋屈”的问题。最近很懒,懒得写东西。 Lua调用C的DLL的例子网上也不是很多,其实要说很多的话,转帖是大部分的形式,有好有坏吧。转得多了,倒是让人看得郁闷,因为搜了半天
转载
2024-08-23 17:45:16
47阅读
脚本语言脚本语言是解除硬编码,防止重编译的利器,较流行的脚本语言有Python,Lua,Ruby等。本文章主要说说Lua。 脚本语言存在的意义在之前写OpenGL程序的时候,会写一个config文件配置当前程序,config文件中主要储存着程序的相关信息,在启动程序的时候,就可以解析这个config程序,找到所需要的信息。比如解析一个json文件: 1 "model":{
2 "p
转载
2023-12-12 17:36:32
122阅读
在开发软件或编写程序的过程中,经常会涉及到不同编程语言之间的互相调用。比如在Linux系统下,开发者可能会使用C语言、Lua语言等不同语言来进行开发,而这些语言之间的互相调用则成为一个重要的问题。在Linux系统中,红帽(Red Hat)作为一个知名的Linux发行版,也需要考虑这些互相调用的问题。
在Linux系统中,C语言是一种非常常见的编程语言,而Lua则是一种轻量级的脚本语言。在开发过程
原创
2024-05-29 11:28:11
69阅读
lua中使用c动态库,像luacjson(支持unicode),luasocket,都是以动态链接库的形式在lua中使用的,至于怎么写这些动态链接库很少有教程说到,下面我就说说如何把c文件编译成动态库。首先,假设需要在lua中调用一个在c中实现的求和函数,函数名add(a,b)。我给这个测试库取名为dylib,它包含一个函数add。lua中这样使用:local dylib = require "d
转载
2024-03-17 15:06:38
36阅读
C调用lua脚本的效率测试 以下代码以C语言为基准,测试了C调用Lua循环和循环
原创
2023-06-16 00:48:49
94阅读
先来说下大致脚本引擎框架,此次采用如下,即运行C++代码启动程序,然后加载Lua脚本执行!1.基础 Lua脚本中只能调用 int (*lua_CFunction) (lua_State *L) 这种类型的C/C++函数; 所有的C/C++函数如果要给Lua进行调用,只能用这样的函数来封装; &nb
转载
2024-04-29 19:56:53
158阅读
一、前言基于redis实现分布式锁,其实有很多,基于 redisson,基于 jedis,等都可以实现,springBoot 默认提供 redis 操作工具 redisTemplate ,我们可以基于它配合lua 进行实现。简单业务场景不需要使用 redissonredisson本身其实是基于lua脚本来保证原子性的,使用redisson需要额外引用依赖,还要单独去配置,还要增加学习成本去了解re
转载
2023-08-17 11:02:43
1076阅读
Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。 所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。 在Lua中,一切都是变量,除了关键字。I. 首先是注释 写一个程序,总是少不了注释的。 在Lua中,你可以使用单行注释和多行注释。 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止。相当
前段时间在项目中试加入了lua脚本,但由于匆忙很不完善,没有任何的调试信息,包括出错信息的打印,所以很是痛苦!最近终于开始着手完善lua程序,只是从没用过,一切都是从头学起! 首先是载入脚本的时候:luaL_dofile(m_lua, pathname.c_str()); 如果是lua脚本的语法等基本错误,这时候luaL_ dofile会返回错误码,但想知道错误信息就必须看堆栈了。 其实查看文档
转载
2024-05-06 15:28:09
180阅读
tolua++简介 tolua++工具所在目录:cocos2d-x-2.2.1\tools\tolua++, 在目录下有一个README文件,打开有关于这个工具的介绍与使用说明。 工具描述: Generating the lua<-->C bindings with tolua++, tolua++用于生成lua与C之间交互的绑定文件。&nb
转载
2024-02-26 19:06:32
198阅读
目录1、系统调用过程2、系统调用三种方法2.1、通过 glibc 提供的库函数2.2、使用 syscall 直接调用2.3、通过 int 指令陷入系统调用(System Call)是操作系统为在用户态运行的进程与硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口。当用户进程需要发生系统调用时,CPU 通过软中断切换到内核态开始执行内核系统调用函数。1、系统调用过程以 Linux 0.11
转载
2024-04-23 15:39:12
81阅读
首先搭建环境,使用vs2010的c++开发工具,lua源码包,可以去官方下载最新源码包,我采用的是lua-5.1.5的版本。好了,开始配环境。第一步:下载源码包后,解压lua-5.1.5源码包到硬盘。如:D:\lua-5.1.5\。在VS2010中新建一个静态库项目,项目命名为lua51,具体步骤如下:打开VS2010->文件-->项目-->Virual C++-->Win
原创
2013-10-24 20:51:08
1478阅读
感觉学习的笔记还是放在网上查询的时候比较方便,文章初看会感觉很难理清,需要耐心去看,对不起自己对不起翻到我文章的同学,不废话直接上代码。1.C#调用Lua (耐心!耐心!耐心!)using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
//这个示
转载
2024-03-28 08:39:59
61阅读