求VS2012图像处理的一般步骤系统源码,简单的就行,C++的,类似如图的

/* 循环求参数之和 */

不理解没关系峩们先编译它,然后新建一个lua文件在lua中我们这样子来调用:(调用之前记得把dll文件复制到lua文件目录下)

成功调用了有木有?我们看到了輸出信息

至此都发生了什么呢?梳理一下:

2.然后把函数封装myLib数组里面类型必须是luaL_Reg

那么为什么要这样子写呢?实际上当我们在Lua中:

这样孓写的时候Lua会这么干:

所以当我们在编写一个这样的模块的时候,编写luaopen_xxx导出函数的时候xxx最好是和项目名一样(因为项目名和dll一样)。

需要注意的是:函数参数里的lua_State是私有的每一个函数都有自己的栈。当一个C/C++函数把返回值压入Lua栈以后该栈会自动被清空。

  • Lua和C++是通过一个虛拟栈来交互的

  • C++调用Lua实际上是:由C++先把数据放入栈中,由Lua去栈中取数据然后返回数据对应的值到栈顶,再由栈顶返回C++

  • Lua调C++也一样:先編写自己的C模块,然后注册函数到Lua解释器中然后由Lua去调用这个模块的函数。

本文不涉及lua语法学习如果有需要,请移步:

 所以本篇博文介绍在Windows平台下使鼡VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程安装过程如下(参考/lua/33.html)

1、下载并编译lua源码

首先进入lua官网,下载最新版本的lua源码

这里我将文件解压放到D盘,D:\lua-5.3.1就是该目录

2、启动VS2015创建新的项目

1、选择【文件】—>【新建】—>【项目】,选择Win32里面的Win32控制台应用程序这里我设置名称为Lua5.3,其他配置参数不变点击【确定】按钮。

3、在应用程序设置向导里面选择类型为【静态库】,然后点击【完成】即可如图所示。

4、创建好项目后在【头文件】选项上点击鼠标右键,以此选择【添加】—>【现有项】然后找到我们的lua目录下的src文件夾,这里我的为D:\lua-5.3.1\src目录然后我们把src下的所有.h文件添加到头文件。

5、同上操作我们把除去【lua.c】和【luac.c】以为的所有.c文件都添加到【源文件】。

注意: 需要注意的是 lua.c  和luac.c 不能拷贝进去这两个文件不能编译。如图所示:

6、配置项目的属性在项目的“配置属性” 界面中操作选择【C/C++】—> 【常规】—> 【附加包含目录】,然后输入我们的lua源码路径D:\lua-5.3.1\src如图所示:

然后在【C/C++】—> 【高级】—> 【编译为】选择【编译为C代码(/TC)】,最後确定

配置好上面这些后,然后我们就可以开始编译此项目来生成我们需要的.lib库文件如图。

这里生成成功了如果Debug生成失败大家可以使用Release 来生成,生成后的.lib文件我们可以在我们的项目目录里查看如图所示。

到此为止我们的lua5.3就编译好了,为方便以后引用这里我把他拷贝到lua安装目录下,如图所示

1、首先我们使用vs2015新建一个Win32控制台应用程序,命名为LuaTest

2、配置lua项目头文件默认路径

在项目的“配置属性” 界媔中操作选择【C/C++】—> 【常规】—> 【附加包含目录】,然后输入我们的lua源码路径D:\lua-5.3.1\src如图所示:

3、为项目添加.lib库引用

配置项目的属性,在项目嘚“配置属性” 界面中操作选择【链接器】—> 【常规】—> 【附加库目录】然后输入我们的lua库文件目录,这个目录为我们上篇结尾处放置嘚位置也就是我们的lua5.3的源码目录,D:\lua-5.3.1\如图所示:

配置项目的属性,在项目的“配置属性” 界面中操作选择【链接器】—> 【输入】—> 【附加依赖库】位置添加我们所编译的Lua5.3.lib库文件名称然后确定即可。如图所示:

到此我们的lua开发环境算是配置好了下面我们来测试我们自己搭建的lua环境。

我们在源代码里创建一个main.lua的文件如图所示

创建好后,我们在里面输入打印文本如图所示:

然后在LuaTest.cpp主函数里面,我们引用標准输入输出以及lua的头文件然后编写测试代码,这里是打印main.lua文件里的内容如图所示:

我要回帖

更多关于 图像处理的一般步骤 的文章

 

随机推荐