表达式(expression)在编程语言中代表一个可以返回值的语法单位,比如常量表达式,变量表达式,函数调用表达式,算术、关系和逻辑表达式等等。对于函数式编程语言来说,几乎所有的语句都是表达式,可以被估值。而对于命令式语言,一般会将语句分成表达式和陈述语句(statement)。表达式可以被估值,而普通的陈述语句用来执行命令。根据具体的语法,这两种类型不一定会有明确的界限。比如在C中,a = b既
转载 2024-07-30 17:23:06
151阅读
    一步步调试,在lparser.c文件中luaY_parser函数是语法分析的重点函数,词法分析也是在这个过程中调用的。在这个过程中,用到一些数据结构,下面会详细说。  Proto *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, const char *name) { struct LexState lexstate; struc
转载 2024-06-18 10:48:59
148阅读
在写C++程序时,时常需要将一个class写成DLL,供客户端程序调用。这样的DLL可以导出整个class,也可以导出这个class的某个方法。 一、导出整个class 方法很简单,只需要在类的头文件中class和类名之间加上_declspec(dllexport),同时在另外一份提供给客户端调用程序使用的类的头文件中class和类名之间加上_declspec(dllimport)。为了能让客户端
一是,隐式连结,用dll编译连结时生成的.h和.lib文件。可以直接调用.dll中的函数。 二是显式连结,不需要其它附加文件,用LoadLibrary和GetProcAdress()函数 一、关于调用方式: 1、静态调用方式:由编译系统完成对DLL的加载和应用程序结束时DLL卸载的编码(如还有其它程序使用该DLL,则Windows对DLL的应用记录减
转载 2024-03-04 05:39:59
553阅读
C#与Lua的交互主要是由Lua官方的提供的LuaInterface.dll库实现的。什么是LuaInterface LuaInterface包括两个动态链接库文件,一个是luaInterface.dll,在C#中操作Lua所必需的依赖文件一个是Luanet.dll,C#与Lua交互过程:   C# Call Lua :由C#文件先调用Lua解析器底层Luanet.d
转载 2024-05-07 08:15:15
406阅读
第二章从编译开始首先拿到Lua 5.1.2的源代码,解压缩到C:/Src.不要和我说你的C盘没有空间了;)这样,在SRC/lua-5.1.2/下面就会出现Lua的源码了。接下来,我们以右键->编辑打开etc/luavs.bat,这是Lua提供的在VS2003下面编译自身的批处理文件.我们的目标是根据此文件,制作VS2003的工程.首先,让我们看看这个文件的内容:cl /MD /O2 /W3
1.版本1.1vs版本vs20131.2lua版本lua5.1,用luaForWindow安装2.c调用lua2.1编写lua代码callLuaTest.luafunction add(a,b) return a+b; end function sub(a,b) return a-b; end然后把lua文件复制到项目目录下。2.2复制头文件vs创建控制台程序,在lua的安装目录
转载 2024-04-12 14:35:44
181阅读
 yum install -y libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libxslt-devel libtool-ltdl-devel ./configure \ --prefix=/usr/local/php  \&nbsp
原创 2015-09-13 14:20:40
399阅读
前言DLL注入是我在大一的时候接触的一种技术,那时候还不懂,最近结合小程序详细的理解了一下。DLL注入是将代码注入到一个远程进程中,并让远程进程调用LoadLibrary()函数,从而强制远程进程加载一个DLL程序到进程中。而当DLL被加载时就会运行DLL中的DllMain()函数,所以就会为恶意代码的执行提供机会,而因为DLL本身是由感染后的进程加载的同时PE文件也并没有对系统进行过多的敏感操作
转载 2024-09-05 06:40:58
90阅读
 /* ** state manipulation */ LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);//创建lua虚拟机 LUA_API void (lua_close) (lua_State *L); //销毁指定 Lua 状态机中的所有对象 /** lua_newthread 创建一个新线程,并将
转载 2024-05-05 16:59:39
245阅读
.cpp //若没有在项目属性--库文件、依赖文件、包含添加。则添加一下路径 #pragma comment (lib,"lua5.1.lib") #include "stdafx.h" #include "lua.hpp" extern "C" { #include "lua.h" #includ
转载 2019-06-02 14:35:00
775阅读
2评论
 Lua调用c++ dll文件的详解尽管网上类似的例子不少,但是对于很多新手来说,有些问题并没有说的那么详细直奔主题在此,我会列出我参考的文章,有些东西就直接复制的环境:Visual C++ 2008 Express Edition + Lua 1.5 + SciTE(lua编辑器) 下载 Visual C++ 2008 Express Edition + Lua ,下载后安装
转载 2024-03-01 09:38:49
74阅读
#include #include "lauxlib.h" /* Pop-up a Windows message box with your choice of message and caption */ int lua_msgbox(lua_State* L) { const char* message = luaL_checkstring(L, 1); const c...
转载 2019-03-07 23:36:00
88阅读
2评论
生产者->过滤器->消费者 模式的协程示例 运行截图现象 coroutine.wrap 与 coroutine.create 的区别 运行现象
转载 2017-10-27 02:11:00
184阅读
下载lua包并解压wget -c ://.lua.org/ftp/lua-5.3.0.tar.gz或者下载地址:://.lua.org/ftp/,把下载的文件放到/usr/local/src/目录下。下载libreadline相关支持Ubuntusudo apt-get install libreadline5 sudo apt-get ...
原创 2022-03-17 17:32:11
886阅读
很多人苦于lua脚本被别人破解导致整个游戏被他人抄袭而苦恼,现在来说说最近刚研究通的一种修改办法,可以加载自己加密过的脚本,而且又不会导致普通的lua脚本无法执行,这样既可以运行加密脚本也可以运行普通的脚本,这是多么爽的一件事情。好了接下来我直接给出我们需要修改的地方;打开文件loadlib.c这个文件我们可以看到有几个函数loader_Lua,loader_C等函数;我们可以仿写一个 ,实现自己
转载 2024-03-06 01:25:39
47阅读
下载lua包并解压 wget -c http://www.lua.org/ftp/lua-5.3.0.tar.gz 或者下载地址:http://www.lua.org/ftp/,把下载的文件放到/usr/local/src/目录下。 下载libreadline相关支持 Ubuntu sudo apt-get install libreadline5 sudo apt-get i
原创 2021-08-13 10:37:43
1138阅读
如果经过stdcall声明的方法,如果不是用def文件声明的导出函数或者extern “C” 声明的话,编译器会对函数名进行修改;在编译加上extern C;这样就OK了; 另外可以在PYTHON代码里试试这样: ctypes.cdll.LoadLibrary("dllpath") 
转载 2023-07-31 11:04:13
107阅读
需求:有些Dll文件我们找不到源码,只有编译后的dll,但是我们想要改某个字段或者连接字符串,并不需要动太多业务逻辑的情况下,我们可以这样干。1.打开微软提供的反编译工具ildasm.exe   这个工具是windows自带的反编译工具。路径:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2
转载 2023-11-06 20:43:53
640阅读
一写dll需要建立至少三个文件:1 .cpp文件用于写核心代码。里面包括一个dll入口函数DllMain。形如: 包括需要导出的变量和函数,图中的是add。以及不需要导出的变量和函数。2 .h文件用于供其他程序调用使用。最好包括如下内容: 3 .def文件,用于为链接器提供有关被链接程序的导出、属性及其他方面的信息。为了导出所需函数。如图: .def文件的规则为
  • 1
  • 2
  • 3
  • 4
  • 5