精华内容
下载资源
问答
  • ,google 提供了多种语言的实现,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 和 json 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据...

    Protocol Buffer简介

    Protocol Buffer是google于2008推出的一种数据交换的格式,它独立于语言,独立于平台。,google 提供了多种语言的实现,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 和 json 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。现今经过多个版本迭代已经到了3.x版本

      其实说白了Protocol Buffer就是一个协议,和解释器。可以用proto文件把model或者其他数据序列化Or反序列化(把二进制数据解析为Model或者把Model转为二进制数据)。它添加了多语言的支持,在不同语言下,遵守同样的协议(使用同样的proto),这样就可以保证在不同端,数据可以交互,而且不用担心数据的序列化问题。

            安装Mac上的工具之类的都可以借助brew这是Mac下和Linux下apt get install一样强大的工具,用一用你就知道了!

    <第一步>安装brew

    homebrew是mac下用来代替apt-get命令的,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。安装protobuf时缺少automake以及libtool,需要brew命令进行安装。

    打开Mac终端执行下面命令。即可安装(也可自行百度Mac下如何安装brew)

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    执行安装完成后可以执行以下命令查看安装是否成功

    brew --version

    接下来安装Protobuf Compiler,执行一下几个命令即可:

      Automake 是一种帮助『自动』产生 Makefile 文件的软件,并且让开发出来的的软件可以象 Apache,MySQL 和常见的 GNU 软件一样,程序设计者只需要写一些预先定义好的宏 (macro),提交给Automake处理后会产生一个可以供 Autoconf 使用的 Makefile.in文件。再配合利用 Autoconf产生的自动配置设置文件 configure 即可产生一份符合 GNU Makefile 惯例的 Makeifle 了.

      libtool是一种属于GNU建构系统的GNU程序设计工具,用来产生便携式的库;

    brew install automake

    brew install libtool

    brew install protobuf

    <第二步>安装完成后可以再自己电脑进入一个指定的目录中执行以下命令

    git clone https://github.com/google/protobuf.git

    拉取到本地成功后进入到protobuf文件夹目录中执行

    ./autogen.sh

    <第三步>安装Protobuf,分别执行以下命令<这是一个需要时间的过程,耐心等待一下知道安装完成>

    ./configure

    make check

    make

    make install

    所有操作完成后可以执行 protoc --version 命令检测是否真正安装成功,如下图:

    <第四步>安装Protobuf python

    进入到protobuf/python文件夹目录中执行sudo python setup.py install,执行完后可以通过执行sudo python setup.py test检查是否有安装成功,如果最后提示

    ----------------------------------------------------------------------

    Ran 826 tests in 3.347s

    OK (skipped=12)

    如下图:

    <备注>

    安装编译完成protobuf和protobuf-gen-lua后不安装protobuf python的话就会出现在最后生成protobuf lua文件时报错如下:

     Downloads protoc -I=./ --lua_out=./ *.proto

    Traceback (most recent call last):

    File "/usr/local/bin/protoc-gen-lua", line 17, in <module>

    import plugin_pb2

    File "/Users/fanlinsong/protoc-gen-lua/plugin/plugin_pb2.py", line 3, in <module>

    from google.protobuf import descriptor

    ImportError: No module named google.protobuf

    --lua_out: protoc-gen-lua: Plugin failed with status code 1.

    那么就是安装成功了,此时再导入对应的pb2.py文件即可使用。

    --------------------------------------------------------------------------------------------------------------------------------------------------------

    执行python setup.py install 时可能有:This script requires setuptools version 0.6c11 to run

    可从:http://download.csdn.net/download/fhqsse220/5602687下载

    gzip -d setuptools-0.6c11.tar.gz 

    tar xf setuptools-0.6c11.tar

    cd setuptools-0.6c11python setup.py install

    返回如下则表示安装成功

    Installed /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg

    Processing dependencies for setuptools==0.6c11

    Finished processing dependencies for setuptools==0.6c11

    ----------------------------------------------------------------------------------------------

    继续报错:error: package directory 'google/protobuf/compiler' does not exist

    解决办法:在google/protobuf/下创建compiler文件夹

    再次在protobuf文件夹下运行:python setup.py install 。最终提示安装成功。

     ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    <第五步>安装lua,可以进入lua的官方网站下载最新lua包

    官方网址: http://www.lua.org/download.html 下载lua压缩包,解压后进入lua-5.3.5文件夹目录分别执行以下2个命令

    make macosx test make install

    如下图:

    配置对应的环境变量<有的机器可以不配置>

    export LUA_PATH=/Users/fanlinsong/lua-5.3.5/src

    export PATH=$PATH:$LUA_PATH

     

    也可直接使用brew命令安装lua:

    brew install lua

    有的机器也需要安装pkg-config-0.28,有的不需要<我的就不需要安装虽然安装protoc-gen-lua时提示要我安装,但是我没有安装也直接把protoc-gen-lua搞定了>:安装步骤如下,终端操作

    curl http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz -o pkg-config-0.28.tar.gz

    tar -xf pkg-config-0.28.tar.gz

    cd pkg-config-0.28

    ./configure --with-internal-glib

    sudo make install

    <第六步>安装protoc-gen-lua

    可以直接去这个地址 https://github.com/sean-lin/protoc-gen-lua 下载到本地

    也可以终端执行git clone https://github.com/sean-lin/protoc-gen-lua.git 命令

    然后终端在该路径打开终端进入到该文件夹中,进入执行 cd protobuf && make 命令

    然后创建一个链接到protoc-gen-lua ,

    $cd /usr/local/bin && sudo ln -s 你存储protoc-gen-lua的文件在所在路径/protoc-gen-lua/plugin/protoc-gen-lua

    到此为止相关的安装已经完成,可以测试一下安装的效果:

    创建一个.proto文件如下:

     

    syntax = "proto2";//标注使用的是proto的那个版本,一定要加入该行代码

    // syntax = "proto3";//标注使用的是proto的那个版本

    /**

    标注使用的是proto的那个版本,一定要加入该行代码,

    否则在最后执行导出lua文件时会报错提示指定使用的proto版本

    **/

    message Teacher {

          required int32 id = 1;

          required string name = 2;

         optional string email = 3;

          required int32 gender= 4;

    }

     

    如果不加入 syntax = "proto2";汇报如下图错误:

    接下来可以执行

    protoc -I=./ --lua_out=./ *.proto命令

    说明如下:

    protoc protobuf的指令

    -I= 指定proto文件所在的目录文件夹

    --lua_out= 指定导出转换后的.lua文件的存储目录

    *.proto 文件名称.proto 要执行转换的proto文件名称(文件具体路径及名称)

     

    也可直接创建一个python脚本文件或者shell脚本文件,直接批量执行拾取要转换的文件

    protoc -I=./ --lua_out=./ *.proto

    创建shell脚本直接使用下面代码

    #方式一 python 和 shell均可使用次代码

    # protoc -I=./ --lua_out=./ *.proto

     

    #方式二 只有shell能使用

    #!/bin/bash

    for file in ./*.proto

    do

    if test -f $file

    then

    protoc $file --lua_out=./

    fi

    done

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 6 kB init.lua 用于 NodeMCU 通过 wifi 安装 lua 文件 总计 6:8021 字节已使用:5773 字节剩余:62248 字节 client.lua:1612 字节 init.lua:701 字节 s.txt:53 字节 server.lua:1277 字节 y.htm:170 字节总...
  • Lua如何用 VS-Code 写 Lua 代码 ?

    万次阅读 2018-12-28 15:56:58
    因为之前工作用的就是 VS-Code,所以这里介绍 如何用 VS-Code 写 Lua 代码 ? 第一步:下载,安装好VS-Code。 第二步:打开VS-Code,此时界面是英文界面,点击图示按钮,搜索关键词 chinese。 第三步:再次点击搜索...

    可以写lua代码的工具有很多,如果你愿意,记事本也能写。因为之前工作用的就是 VS-Code,所以这里介绍 如何用 VS-Code 写 Lua 代码 ?

    第一步
    下载,安装 VS-Code。可以点击 VS-Code 官网 下载。

    第二步
    打开 VS-Code,此时界面是英文界面,点击图示按钮,搜索关键词 chinese。
    在这里插入图片描述
    因为我已经安装过了,所以显示的是中文界面。

    第三步
    再次点击搜索按钮,输入关键词 lua ,点击安装
    在这里插入图片描述
    第四步:点击文件-新建文件,将后缀名改为 “.lua”,保存到一个你能记住的文件夹里。操作完成后如下图在这里插入图片描述
    下一篇我们就来写下那经久不衰的代码 hello world


    结束语

    如果这篇博客有幸帮到了您,欢迎点击下方链接,和更多志同道合的伙伴一起交流,一起进步。

    Web开发者俱乐部

    展开全文
  • lua如何判断操作系统

    千次阅读 2018-06-05 19:23:42
    在luarocks模块中,有一个luarocks.site_config模块(一个lua文件),其安装时便设定了操作系统类型。 touch test.lua local lsc = require &quot;luarocks.site_config&quot; local system = lsc....

    lua中的luarocks模块

    在luarocks模块中,有一个luarocks.site_config模块(一个lua文件),其安装时便设定了操作系统类型。
    touch test.lua

    local lsc = require "luarocks.site_config"  
    local system = lsc.LUAROCKS_UNAME_S or io.popen("uname -s"):read("*l")  
    if system == "Darwin" then  
        -- do something darwin related  
    elseif system == "Windows" then
        -- do something Windows related
    elseif system == "Linux" then  
        -- do something Linux related  
    end  
    print(system)
    
    执行结果:
    [root@localhost lua]# lua test.lua
    Linux
    
    Mastiff@MastiffdeMacBook-Pro:~/Desktop% lua test.lua
    Darwin
    
    展开全文
  • ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本。 特性: ...支持异步的文件IO操作。支持非阻塞的SOCKET IO操作。 下

    ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本。

    特性

    • 支持Windows和Linux平台。
    • 支持高并发高性能。
    • HTML网页中内嵌LUA脚本代码,类似于PHP。
    • 支持非阻塞的数据库操作,目前只支持MYSQL。
    • 支持异步的文件IO操作。
    • 支持非阻塞的SOCKET IO操作。

    下面简要介绍下 ngx_lua_module 模块的安装。


    方式一:使用大牛 ZhangYichun 提供的集成包快速安装。

    非常简单,下载 ngx_openresty,该集成包中有:NginxLuaLuajitngx_lua,以及一些有用的Nginx第三方模块。

    安装步骤:

    1. ./configure --with-luajit   
    2. make   
    3. make install  

    安装完成!

    方式二:Ngx_lua可以手动编译进Nginx

    首先,我的 Nginx 安装路径为:/usr/local/nginx

    这里,我就不赘述Nginx 的安装步骤了,详细请见文章《Centos系统下 Nginx 服务器安装》


    我将尝试编译的两个模块:
    echolua

    所需要的模块如下:

    1. liujit             http://luajit.org  
    2. lua                http://www.lua.org  
    3. ngx_devel_kit      https://github.com/simpl/ngx_devel_kit  
    4. echo-nginx-module  https://github.com/agentzh/echo-nginx-module  
    5. lua-nginx-module   https://github.com/chaoslawful/lua-nginx-module  

    安装步骤:

    1、Luajit2.0(推荐)或者 Lua5.1(Lua5.2暂不支持)

    1. wget http://luajit.org/download/LuaJIT-2.0.0-beta9.tar.gz  
    2. tar zxvf LuaJIT-2.0.0-beta9.tar.gz  
    3. cd LuaJIT-2.0.0-beta9  
    4. make   
    5. sudo make install PREFIX=/usr/local/luajit  

    Note: to avoid overwriting a previous version,
    the beta test releases only install the LuaJIT executable under the versioned name (i.e. luajit-2.0.0-beta10). 
    You probably want to create a symlink for convenience, with a command like this:

    sudo ln -sf luajit-2.0.0-beta9 /usr/local/bin/luajit (加上这句命令)


    下面需要配置一下 luajit 或 lua 的环境变量(Nginx编译时需要):

    1. -- luajit --  
    2. # tell nginx's build system where to find LuaJIT:  
    3. export LUAJIT_LIB=/path/to/luajit/lib  
    4. export LUAJIT_INC=/path/to/luajit/include/luajit-2.0  
    5.   
    6. -- lua --  
    7. # or tell where to find Lua if using Lua instead:  
    8. export LUA_LIB=/path/to/lua/lib  
    9. export LUA_INC=/path/to/lua/include  


    我的测试环境里,配置如下:

    1. export LUAJIT_LIB=/usr/local/luajit/lib  
    2. export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0  

    2、安装 ngx_devel_kit (NDK) 模块

    1. cd /usr/local  
    2. git clone https://github.com/simpl/ngx_devel_kit.git  

    下载完成后,将在 /usr/local/ 目录下生成子目录 ngx_devel_kit。


    3、安装 lua-nginx-module 模块

    1. cd /usr/local  
    2. git clone https://github.com/chaoslawful/lua-nginx-module.git  
    下载完成后,将在 /usr/local/ 目录下生成子目录 lua-nginx-module。


    4、重新编译Nginx,需要注意编译顺序!

    1. ./configure --prefix=/usr/local/nginx \  
    2.             --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB" \  
    3.             --add-module=/usr/local/ngx_devel_kit \  
    4.             --add-module=/usr/local/echo-nginx-module \  
    5.             --add-module=/usr/local/lua-nginx-module  
    6. make -j2  
    7. make install  

    注释:重新编译 Nginx 二进制,Nginx 需要 quit 再启动。而普通配置更新则 reload 即可:
    1. kill -HUP `cat /path/nginx/logs/nginx.pid`  
    2. /usr/local/nginx/sbin/nginx -s reload  

    模块编译成功!

    重启Nginx服务器!

    我在编译安装 Nginx 的第三方模块时,碰到一个错误:

    1. /usr/local/nginx/sbin/ngxin -s reload  
    2. /usr/local/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory  

    百事不得其解,后来Google之,发现了解决办法。

    在 Nginx 编译时,需要指定 RPATH,加入下面选项即可:

    1. ./configure --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB"  
    2.   
    3. 或者  
    4.   
    5. export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH  


    5、测试Lua

    Nginx.conf 配置文件中,加入以下代码:

    1. location /echo {  
    2.     default_type 'text/plain';  
    3.     echo 'hello echo';  
    4. }  
    5.   
    6. location /lua {  
    7.     default_type 'text/plain';  
    8.     content_by_lua 'ngx.say("hello, lua")';  
    9. }  

    重启Nginx服务器:

    1. /usr/local/nginx/sbin/nginx -s reload  

    使用curl测试:

    
    

    1. [root@localhost] curl http://localhost/echo  
    2. hello echo  
    3. [root@localhost] curl http://localhost/lua  
    4. hello lua  

    测试结果表明,两个模块都安装成功!

    关于ngx_lua模块的详细文档见下:
    http://wiki.nginx.org/HttpLuaModule
    展开全文
  • 关于lua的介绍以及如何获取源码建议读者去这个网址获取 http://www.lua.org/ 1.1 linux 下的安装编译 http://www.lua.org/download.html 安装和编译的方法这里提供了,建议使用这种方法进行下载和安装。 curl -R -...
  • ngx_lua_module 是一个nginx http模块,它把 lua 解析器内嵌到 nginx,用来解析并执行lua 语言编写的网页后台脚本。 ...支持异步的文件IO操作。支持非阻塞的SOCKET IO操作。 下面简要介
  • 文章目录本大王亲自实践如何下载lua 本大王亲自实践如何下载lua 官网 添加链接描述 宿主机上下载源码   然后拖到虚拟机桌面 输入 tar zxf lua-5.4.0.tar.gz cd lua-5.4.0 make all test   然后lua就...
  • 本文以lua-5.1为例,说明如何从源代码生成二进制的lualuac可执行文件。PC操作系统以Mac为例。
  • Lua读取/解析json文件

    千次阅读 2019-11-12 10:32:43
    JSON文件是最最常用的配置文档,这个例子展示了如何读取其中的内容, 实现的功能: 使用dkjson模块,如系统没有,使用luarocks安装 路径中~的扩展,得到完整路径 读取json文件中的字符串 用dkjson将字符串...
  • 如何在sublime 中配置lua的运行环境

    千次阅读 2018-02-24 14:20:20
    第一,首先安装lua包,然后在终端查找lua安装位置 which lua 默认位置是/usr/local/bin/lua 第二,前往/Users/Library/Application\ Support/Sublime\ Text\ 2/Packages/Lua 这个目录,新建一个名字为lua.sublime...
  • 2、安装数据库mysql 3、导入数据 data/Dump20190828.sql 4、修改配置文件 server.cfg ip="127.0.0.1" port=i0 lua="main.lua" https=1 httpip="你的IP" httpport=i443 timer=5 core/coreexdata.lua DB_IP = '...
  • 在书写lua代码的时候,为了方便阅读,lua的方法与变量都需要按照统一的方式书写解释,当lua文件多的时候,就需要一份能够很好传阅的文档,以方便它人查看 luadoc环境依赖 lua5.1 或以上 luadoc 如何运行 在安装...
  • 首先我的lua脚本文件放在了目录下:/home/younger/lua/countwords.lua 进入你的redis安装目录下面的src文件夹下,比如我的安装目录在/home/younger/soft/redis-5.0.5/src 输入如下命令 ./redis-cli -h localhost -p ...
  • 里面定义了如何使用luci的http方法,和自定义的resttemplate.lua工具文件(里面封装了如何使用nixio进行socket编程) 本篇文章,将使用大家都在用的luasocket库,因为lua语言官方并不提供网络编程模块,luasocket库是...
  • 比较了几款调试Lua的调试器,发现使用都不太顺畅,最后选定为ZeroBrane Studio (稳定性还以)ZeroBrane Studio 下载地址 ... ZeroBrane Studio 安装目录里取到 mobdebug.lua 文件 2. 在
  • golang调用lua脚本

    万次阅读 2017-12-23 13:29:06
    上篇文章已经讲过golua如何安装,本篇文章主要讲解golang如何利用golua调用lua脚本 1:importimport "github.com/aarzilli/golua/lua"2:调用lua脚本的几个重要函数L := lua.NewState() //创建一个lua虚拟机 L....
  • 以前要导出c++类到lua,就得手动维护pkg文件,那简直就是噩梦,3.0以后就会感觉生活很轻松了。 下面我就在说下具体做法。 1、安装必要的库和工具包,以及配置相关环境变量,请按照cocos2d-x-3.0rc0\tools\tolua\...
  • 以前要导出c++类到lua,就得手动维护pkg文件,那简直就是噩梦,3.0以后就会感觉生活很轻松了。 下面我就在说下具体做法。 1、安装必要的库和工具包,以及配置相关环境变量,请按照cocos2d-x-3.0rc0\tools\tolua\...
  • 了解 Lua 如何处理数据的读写...每种语言都会以不同的方式处理这项任务,本文将演示如何使用 Lua 处理文件数据。 安装 Lua 如果你使用的是Linux,你可以从你的发行版软件库中安装 Lua。在 macOS 上,你可以从 MacPor.
  • 如何安装: : 如果要手动安装它们: 将lua文件放入收割者资源路径中的Scripts文件夹(的子文件夹)中(选项>显示收割者资源路径...) 通过操作列表将lua文件加载到上述[Main]部分中 将这些操作分配给快捷键,...
  • Entitas-lua-源码

    2021-02-03 18:04:53
    如何安装: 需要Python3.x环境(配置环境变量) 安装python模板引擎Mako,用于解析lua代码的差异lupa,用于处理跨平台生成的pathlib pip install mako pip install lupa pip install pathlib 光盘src python build....
  •   (1)安装的sciTE是免安装版的,编译时会出现“‘lua5.1’ 不是内部或外部命令,也不是可运行的程序 或批处理文件”的问题。   (2)或者luaForWindows编译时使用的lua版本是5.1而不是5.3.5。   二、我们...
  • 下面是整个流程如果有...3.新建一个工程,再里面添加一个新建的脚本作为后面要生成的插件,然后编写好代码,右键该lua文件==》生成插件,然后填写好每个要导出的方法的使用说明和例子 点击生成插件,然后打开保存
  • hlua, Rust 库与Lua接口 hlua这个库是 Lua 5.2的高级绑定。 你没有访问Lua堆栈的权限,只能读/写变量( 包括回调) 并执行Lua代码。 如何安装它?将这里文件添加到项目的Cargo.toml 文件中[dependencies]
  • 上一篇我们提到许多c的api,这一篇我们就来看看如何实现基本的C++与lua的交互。 (1)基础示例 首先我们打开VS,新建一个c++控制台程序lua1,在我电脑上,这个新建的c++项目路径是F:\VSProject\lua1。 然后在lua的...
  • 如何安装 请参考上篇进行安装 设置Quick-cocos2d-x项目 在VS菜单上选择:【lua】【Settings】打开设置界面,如下图(左上角选中【Lua Folder】)  如上图分别设置: (1)Lua scripts folder  ...
  • 已经安装openresty,若是没有安装可以前往https://blog.csdn.net/weixin_43850474/article/details/112860649查看如何安装 已经学会如何在lua中调用C函数,若是不会,可以前往...

空空如也

空空如也

1 2 3 4 5 6
收藏数 108
精华内容 43
关键字:

lua文件如何安装