首页 > 编程语言 >C# luainterface luanet踩坑记录

C# luainterface luanet踩坑记录

时间:2022-11-30 00:11:47浏览次数:36  
标签:Function luainterface LuaDLL Lua C# lua luanet public

 

 

// C# 调用dll 传递c回调函数模板格式
// LuaInterface.LuaDLL;

using LuaInterface;
public partial class xxx 
{
    //... ...
    
    //C#默认情况下委托都是stdcall的调用方式,但可以通过UnmanagedFunctionPointer特性来修改
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int _c_Function( IntPtr luaStata);

[DllImport("lua51.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern void lua_pushcclosure (IntPtr L , [ MarshalAs(UnmanagedType.FunctionPtr)] _c_Function fn, int n=0);

public _c_Function fucx;

public int CallBack(IntPtr L)
{
    LuaDLL.lua_settop(Lua,0);
    LuaDLL.lua_getglobal( Lua, "__debug_string");            
    textEditorControl2.Text= LuaDLL.lua_tostring(Lua, -1);        
    LuaDLL.lua_pop(Lua 1);
    return 0;
}

// ... ... 
public void do()
{
//此处必用如下new形式生成堆对象,否则运行报错
fucx=new _c_Function( CallBack) ;
lua_pushcclosure( Lua,  fucx   );
LuaDLL.lua_setglobal( Lua , "CallBack");
}

}




    

 

标签:Function,luainterface,LuaDLL,Lua,C#,lua,luanet,public
From: https://www.cnblogs.com/chenyalin/p/16937156.html

相关文章

  • Python: Guess and Check algorithms, Approximate solutions, Bisection method
     判断一个整数是否为完全立方数cubicnumber:  importmathcubical=int(input('number:'))defis_cubical(cubical:int):n=math.ceil(pow(cubic......
  • ElasticSearch桶、度量
    桶桶的作用,是按照某种方式对数据进行分组,每一组数据在ES中称为一个桶,例如我们根据国籍对人划分,可以得到中国桶、英国桶、日本桶,或者我们按照年龄段对人进行划分:0-10,10-20......
  • 初次邂逅 EasyExcel
    前言由于工作原因,有这种需求,就是把数据库中的数据导出成Excel表格,同时,也得支持人家用Excel表格导入数据到数据库。当前项目也是在用EasyExcel,所以我不得不学啦!以前......
  • 《基于CNN和SVM的人脸识别系统的设计与实现》论文笔记十六
    一、基本信息标题:基于CNN和SVM的人脸识别系统的设计与实现时间:2021来源:计算机与数字工程关键词: 人脸识别;卷积神经网络;支持向量机;深度学习;二、研究内容问题定义:......
  • Codeforces Global Round 21 E
    E.PlacingJinas题链稍微手写一下发现就是一个杨辉三角然后我们知道杨辉三角第n行第m个是C(m-1,n-1)我们对应转化过来就是C(n+m-2,m-1)然后我们注意处理的组合数到4e5因......
  • Computer Vision_18_Image Stitching
    此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面。对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多......
  • Image Processing and Analysis_8_Edge Detection
    此主要讨论图像处理与分析。虽然计算机视觉部分的有些内容比如特征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以及它们的出处,没有把它们纳入到图像......
  • #yyds干货盘点# LeetCode程序员面试金典:URL化
    题目:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以......
  • Image Processing and Analysis_8_Edge Detection
    此主要讨论图像处理与分析。虽然计算机视觉部分的有些内容比如特征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以及它们的出处,没有把它们纳入到图像......
  • Image Processing and Analysis_8_Edge Detection:The Design and Use of Steerable Fi
    此主要讨论图像处理与分析。虽然计算机视觉部分的有些内容比如特征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以及它们的出处,没有把它们纳入到图像......