luajit

静态编译nginx luajit

无人久伴 提交于 2019-12-08 22:49:56
安装过程 编译luajit,过程略... 删除luajit lib目录下的so文件 修改 nginx/auto/lib/lua/conf 将有ngx_feature_libs字段后带-lm的后面都加上了-ldl 将 ngx_feature_libs="-R$LUAJIT_LIB -L$LUAJIT_LIB -lluajit-5.1 -lm" 改为 ngx_feature_libs="-R$LUAJIT_LIB -L$LUAJIT_LIB -lluajit-5.1 -lm -ldl" 然后执行 ./configure \ --prefix=/usr/local/nginx \ ……(此处省略) --add-module=…/ngx_devel_kit \ --with-luajit-inc=…/luajit/include/luajit-2.0 \ --with-luajit-lib=…/luajit/lib make make install 其他解决方法 第一种方法就是直接使用 openresty,并利用openresty提供的方式静态编译luajit,安装nginx nginx_lua_module luajit nginx_dev_kit,步骤略。 第二种方法就是在nginx configure执行过后,修改生成的objs/Makefile文件,在第一个target

LuaJIT on Windows 10: unknown luaJIT command or jit.*

喜欢而已 提交于 2019-12-08 05:40:50
问题 I've been trying to install LuaJIT on Windows 10 for some time following the official guide, and I actually get to install it. For example, if I execute luajit I get into the prompt. Also, luajit -v returns the version of luajit (2.0.4). And I can also execute code with luajit -e <lua code> . However, whenever I try to save bytecode with luajit -b , I get the following message: luajit: unknown luaJIT command or jit.* modules not installed I tried to make all sort of installations: using

How to read Torch Tensor from C [closed]

可紊 提交于 2019-12-08 03:23:54
问题 Closed . This question needs to be more focused. It is not currently accepting answers. Want to improve this question? Update the question so it focuses on one problem only by editing this post. Closed 4 years ago . I have to train a convolutional neural network using the Torch framework and then write the same network in C. To do so, I have to read somehow the learned parameters of the net from my C program, but I can't find a way to convert or write to a file the Torch Tensors to make them

【最新】LuaJIT 32/64 位字节码,从编译到使用全纪录

こ雲淡風輕ζ 提交于 2019-12-07 13:47:07
网上关于 LuaJIT 的讨论,已经显得有些陈旧。如果你对 LuaJIT 编译 Lua 源文件为具体的 32位或64位字节码,极其具体使用感兴趣的话,不妨快速读一下这篇文章。此文章针对尝试在 iOS 或 Android 上使用 LuaJIT 的小伙伴。限于篇幅,此处假定,你可以成功在 iOS/Android App 中集成了 LuaJIT,并且已经可以执行源码形式的 Lua 文件。 我忍不住在开头插一句: LuaJIT 编译后,只有约 600k,可能也就是一张图片的空间,但却可以让你的你App可以拥有一门完整的脚本语言的能力 -- 真的很酷!为许多问题,提供了许多新的思路,特别是 App 地动态性和可配置型方面。 环境 操作系统: macOS 10.13.4 【Linux 系统上,应该使用;Windows 系统上,仅供参考】 LuaJIT 版本: LuaJIT-2.1.0-beta3【官网最新版】 目录结构预定义 为了便于下文指令的说明,此处简单约定下目录结构。实际使用时,按需设置和整理即可。 tools:存放各种编译脚本和工具。 source:存放编译前的 Lua 源码。以后所有的 Lua 源码,都需要放在且只能放在此文件夹下。 output: 用于存放编译后的 Lua 字节码文件。 编译加密工具 Lua 的加密工具,本质上就是 Lua 的解释器。此处使用的解释器源码是

Do file only once in Lua

我们两清 提交于 2019-12-07 12:08:55
问题 I was wondering if there's a way to do a lua file only once and have any subsequent attempts to do that lua file will result in a no-op. I've already thought about doing something akin to C++ header's #if/else/endif trick. I'm wondering if there's a standard way to implement this. James 回答1: well, require pretty much does that. require "file" -- runs "file.lua" require "file" -- does not run the "file" again 回答2: The only problem with require is that it works on module names, not file names.

Passing C struct pointer to lua script

你说的曾经没有我的故事 提交于 2019-12-07 01:54:04
问题 I would like to know is there a way to pass a struct pointer to a lua script, and reach it's members from lua without copy (for read and write purposes). So, for example is it possible to overwrite a member of a c struct directly through of its pointer? (I am using luajit) 回答1: Seeing as you have tagged this for luajit, you can combine the light userdata (as mentioned by others) with FFI for direct struct member access, see the tutorial here: http://luajit.org/ext_ffi_tutorial.html 回答2: In

lua_open returns null using luaJIT

折月煮酒 提交于 2019-12-07 01:52:35
问题 Using the recent luaJIT lua_open returns null . This does not happen with the regular lua library. lua_State *L = lua_open(); std::cout << L << std::endl; Output: 0x0 How can I get luaJIT to work? SSCCE: #include <iostream> #include <luajit-2.0/lua.hpp> //linked library: libluajit-5.1.a int main(int argc, const char * argv[]) { lua_State *L = luaL_newstate(); // lua_open(); std::cout << L << std::endl; // 0x0 } Additional information: Built on OSX 10.9 from source (tried both 2.0.2 and from

nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)

限于喜欢 提交于 2019-12-06 07:41:17
插入两个网站:    nginx + lua 的OpenResty 开发    跟我学OpenResty(Nginx+Lua)开发目录贴   两个都是 可以根据目录一步步学习的。 1. 版本下载 nginx版本为 nginx-1.10.3 , http://nginx.org/en/download.html 下载nginx 版本,不要高版本的,编译lua模块会有错误,暂时不知道原因。 放一个目录。 /home/test/ lua_nginx_module模块版本 lua-nginx-module-0.10.2, https://github.com/openresty/lua-nginx-module/tags 不安装 cd /usr/local/src wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz tar -xzvf v0.10.2.tar.gz ngx_devel_kit 版本 ngx_devel_kit-0.2.19, https://github.com/simpl/ngx_devel_kit/tags 不安装 cd /usr/local/src wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar

Nginx + Lua 搭建网站WAF防火墙

六眼飞鱼酱① 提交于 2019-12-06 02:02:54
文章汇总: https://www.cnblogs.com/dotnetcrazy/p/9160514.html 目录: 前言 1.在线安装 1.1.修改yum源地址 1.2.在线安装Nginx 1.3.端口放行 1.4.验证安装 2.知识拓展 2.1.编译参数 2.2.安装目录 2.3.默认配置 2.4.systemctl配置 3.编译安装 3.1.安装编译环境 3.2.Nginx编译安装 3.2.1.下载解压 3.2.2.配置编译参数 3.2.3.进行编译安装 3.2.4.配置systemctl 3.2.5.端口放行 3.2.6.验证 3.3.编译安装Lua模块 大体思路 3.3.1.编译安装luajit并导入环境变量 3.3.2.共享lua动态库 3.3.3.配置nginx的编译参数 3.3.4.重新编译安装nginx 3.3.5.验证Lua模块 4.Nginx+Lua搭建WAF防火墙 4.1.环境 4.2.配置 4.3.生效 4.4.简单验证 4.5.CC验证 扩展:隐藏Nginx版本信息 前言 对于项目里面只是使用代理等常用功能,在线安装即可,如需制定化模块,则推荐编译安装 PS:本文不仅仅包含Nginx相关的知识点,还包含了逆天学习方法(对待新事物的处理) 官方网站: https://nginx.org/ Github: https://github.com/nginx

luajit官方性能优化指南和注解

[亡魂溺海] 提交于 2019-12-05 22:18:38
转自: https://blog.csdn.net/qq_35624156/article/details/77455670 一、什么是lua&luaJit lua(www.lua.org)其实就是为了嵌入其它应用程序而开发的一个脚本语言, luajit(www.luajit.org)是lua的一个Just-In-Time也就是运行时编译器,也可以说是lua的一个高效版。 二、优势 1)lua是一个免费、小巧、简单、强大、高效、轻量级的嵌入式的脚本语言,lua当前的发行版本5.3.1只有276k。 2)它是用C语言开发的项目,所以可以在大部分的操作系统上运行 3)lua是目前速度最快的脚本语言,既可以提升语言的灵活性还可以最大限度的保留速度 4)其语法非常简单,没有特例 5)lua还可以作为C的API来使用 三、不足和不同 1)lua没有强大的库,所以很多功能实现起来没有python、perl、ruby等脚本语言简洁 2)lua的异常处理功能饱受争议,虽然其提供了pcall和xpcall的异常处理函数 3)lua原生语言中没有提供对unicode编码的支持,虽然可以通过一些折中的办法实现 http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html 4)没有提供在C++中应用很广泛的a?b:c的三元运算符操作 5