公司所用的框架是skynet,是c-lua语言,有时lua效率不够,又有现成的大量的C++算法,所以我就有了研究一下lua调用C++的想法,以供不备之需,准备环境是windows7,vs2013,vscode,vscode插件-Lua Debug, Lua Debugger,EmmyLua,插件是方便调试开发用的,vscode对lu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-29 11:02:49
                            
                                220阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            lua是一门语法简单,效率很高的脚本语言,能够很方便的与C语言交互,很适合做胶水语言使用,本文内容有两部分,第一部分讲如何在C语言中调用lua,第二部分讲如何在lua中调用C语言模块。1.在C语言中调用lua在C语言中调用lua要用到lua提供的C语言接口,test.c示例代码如下,linux下编译指令:gcc  test.c  -o  test    /usr/local/lib/liblua.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-25 10:37:21
                            
                                463阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.c调用lua的实现原理lua语言是c语言实现的,而且是非常轻量级的,非常适合内存受限的嵌入式产品c调用lua,需要在c程序中模拟出lua解释器环境,所以需要调用lua的函数,即生成c程序必定要链接lua库,lua解释器和C是通过一个虚拟栈来交换数据的栈的大小可以设置,通过查看lua的源码,可以知道这个栈的大小,在luaconf.h的LUAI_MAXSTACK,还可以通过lua_checksta            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 11:30:01
                            
                                219阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Lua中的常用函数库汇总:assert(v [, message]):功能:相当于C的断言,检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息参数:v:当表达式v为nil或false将触发错误,message:发生错误时返回的信息,默认为"assertionfailed!"date(format,time) :功能:返回当前用户机器上的时间.co            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-21 10:39:44
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文给大家分享的是Nginx结合lua 实现调用.so动态链接库文件的方法和示例,有需要的小伙伴可以参考下最近在和智能硬件部门一起,做一个室内定位的服务,该服务根据手机端传过来的beacon设备列表,根据一定的算法计算出具体的商场,并将商场ID和beason设备列表作为参数,调用.so文件中的计算方法,得出位置数据(坐标:x、y、z),返回给手机端。因为服务对QPS要求比较高,并且都是纯查询操作,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-13 08:27:09
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            探索 Luago-Book:Go语言实现的 Lua 引擎学习指南项目地址:https://gitcode.com/zxh0/luago-book在编程世界中,Lua 是一种轻量级的脚本语言,被广泛应用于游戏开发、嵌入式系统和服务器配置等领域。而 Luago-Book 是一个由开发者 zxh0 创建的开源项目,它提供了一本详细的教程,教你如何使用 Go 语言实现 Lua 虚拟机。这篇推荐文章将带你深            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-05 19:31:46
                            
                                50阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            lua是一种脚本,它的存在是辅助项目,所以合理的理解应该是一个解决方案包含一个c++主程序,c程序块,和 lua脚本。主程序调用lua,lua调用c程序块,这里的理解就是DLL。这样我们可以把逻辑之间合理的分开。以后更新打增量包就可以了。好了,切入正题:如何用vs2012生成dll文件。vs2012 生成一个工程即一个解决方案,在解决方案里添加 新建 win32 console 工程,选为 sta            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-14 16:59:57
                            
                                51阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在lua中有两种调用c的方式,一种是c作为主程序,向lua中注册函数,然后调用,另一种是把c编写成dll模块,在lua中调用,//==============割============ 先来第二种,在lua脚本中调用c模块:(这种方式可是折腾了本人很久) 先贴代码:#include <stdio.h>
#include <lua.hpp>
//这里要用动态库,不能用静态库            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-22 17:30:27
                            
                                223阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            基本函数库为Lua内置的函数库,不需要额外装载 
assert (v [, message]) 
功能:相当于C的断言, 
参数: 
v:当表达式v为nil或false将触发错误, 
message:发生错误时返回的信息,默认为"assertion failed!" 
-----------------------------------------------------------------            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-28 13:15:35
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## Lua中调用Python库的实现流程
为了在Lua中调用Python库,我们需要使用Lua的扩展库`luapower`,该库可以让我们在Lua中调用Python库。
以下是在Lua中调用Python库的实现流程:
| 步骤 | 描述 |
| -- | -- |
| 步骤1 | 安装`luapower`扩展库 |
| 步骤2 | 创建Lua脚本文件 |
| 步骤3 | 编写Lua代码调用            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-11-03 09:49:59
                            
                                285阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             需求 由于lua没有openss sdk做证书检查校验工作,那么就需要我们基于c语言和openssl库些一个so动态库,以供lua调用去判断证书有效时间、合法性、证书签发者信息等。 c函数从lua获取参数与lua交互的c函数,所有函数入参参数固定为lua_State *L。在lua调用c函数时,通过lua_State *L向其传入参数,如果只有一个参数且类型为string,那            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-25 08:02:51
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            LUA是一种体积小,速度快的脚本语言。脚本语言虽然性能上和C++这样的Naitive语言相比差一点,但是开发速度快,可以方便的更新代码等,近年来受到了越来越多开发者的重视。在SOUI框架中,我把脚本模块参考CEGUI抽象出一个独立的脚本接口,方便实现各种脚本语言的对接。下面简单介绍一下在SOUI中实现的LUA脚本模块的实现。在客户端程序中使用脚本语言一个基本的需求就是C++代码和脚本代码的相互调用            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-04 12:24:22
                            
                                156阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景:有一服务提供者Leader,有多个消息订阅者Workers。Leader是一个排队程序,维护了一个用户队列,当某个资源空闲下来并被分配至队列中的用户时,Leader会向订阅者推送消息(消息带有唯一标识ID),订阅者在接收到消息后会进行特殊处理并再次推往前端。问题:前端只需要接收到一条由Worker推送的消息即可,但是如果Workers不做消息重复推送判断的话,会导致前端收到多条消息推送,从而            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-25 22:19:09
                            
                                216阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## Lua调用Python库的实现教程
在软件开发中,我们常常需要将一种语言的优势与另一种语言相结合,以便于更高效地完成任务。在这个案例中,我们将探讨如何让Lua语言能够调用Python库。为此,我们需要使用一些中间层技术,如`Luapy`或者通过`LuaJIT`的`FFI`库来实现。一切流程分成几个步骤,以下是简要的步骤流程表格:
| 步骤 | 描述            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-10-24 04:41:24
                            
                                350阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一:架构概述FreeRTOS是一个相对较小的应用程序。最小化的FreeRTOS内核仅包括3个(.c)文件和少数头文件,总共不到9000行代码,还包括了注释和空行。一个典型的编译后(二进制)代码映像小于10KB。FreeRTOS的代码可以分解为三个主要区块:任务,通讯,和硬件接口。●任务:大约有一半的FreeRTOS的核心代码用来处理多数操作系统首要关注的问题:任务。任务是给定优先级的用户定义的C函            
                
         
            
            
            
            由于专业原因,一直没有系统的学习过c++。最近在学习opencv,而opencv的配置对于编程经验不丰富的人来说理解起来还是需要一个过程的。opencv配置的设置涉及到两个很重要的概念:dll和lib。         首先什么是dll和lib?        lib是静态链接库,使用它的程序在链接时用库中            
                
         
            
            
            
            lua_call族函数解释, lua和c通信的基础: 栈, TValue
    这些东西是平时遇到的, 觉得有一定的价值, 所以记录下来, 以后遇到类似的问题可以查阅, 同时分享出来也能方便需要的人, 转载请注明来自RingOfTheC[ring.of.the.c@gmail.com] 打算记录一些lua_api, 可能会觉得lua文档中已经说的很清            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-16 11:51:43
                            
                                293阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            先简单写一下; lua调用java的方法,在luaJ中有两种。1 使用官方提供的luaJava库local ins = luajava.newInstance( "com.test.lj.TestClass");
ins:test() 2 自己绑定方法,采用类似原版lua的方式将方法local ins = TestClass.new()  --new方法自己绑定
ins:tes            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-27 14:46:42
                            
                                270阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            缘由今天在使用Lua编写脚本时,需要用到读写文件的操作,很久没有使用Lua了,特写下此文来备忘一下。简介Lua对文件的操作与C对文件的操作基本一致,不管是参数还是方法。Lua中可以直接通过全局方法来对文件操作(简单模型),也可以采用面向对象的形式(完整模型)。简单模型io.input([file]) 设置默认的输入文件,file为文件名(此时会以文本读入)或文件句柄(可以理解为把柄,有了把柄就可以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-27 08:13:13
                            
                                139阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Lua调用C语言:C语言函数的原型必须为:int C_Func(lua_State* L);其中L为lua的状态机,返回值为返回给lua脚本的返回值的个数。方法一:利用lua_register函数,通过lua_register函数将被调用的C语言函数注册到Lua中,然后再Lua中就可以被调用了如下:Main.c:  int C_Func(lua_State* L)
{
	printf("C_Fun            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-07 08:36:25
                            
                                299阅读
                            
                                                                             
                 
                
                                
                    