- 浏览: 49287 次
- 性别:
- 来自: 广州
最新评论
erlang_protobuffs源码下载地址:
https://github.com/basho/erlang_protobuffs
因为这个项目是用rebar编译的,本人比较笨 ,不会玩rebar,所以就提取了src文件夹里面的代码,自己写了个makefile来编译
下面就来记录一下我的实验步骤
1 创建项目目录结构
2 导入源文件到src/mod目录下
3 这里有个注意事项:里面有protobuffs_parser.yrl和protobuffs_scanner.xrl文件,
有两种处理方法:
1 先编译成erl文件,然后下面的makefile编译规则就不用加上yrl和xrl(具体看makefile)
编译方法:
2 不编译成erl文件,然后下面的makefile编译规则要加上yrl和xrl
4 写makefile
1 inlcude.mk:放到hrl目录下
2 Makefile:在src目录下创建
3 在src/目录下,执行make
5 测试
1 在proto/目录下创建proto文件
2 在scripts目录下创建all.proto导入proto/目录下的所有proto文件
3 写个shell脚本控制生成proto
4 执行
5 为什么会报no_abstract_code错误呢,这涉及编译的问题,pokemon_db.beam要生成the form of abstract code 所以修改include.mk:
ERLC := erlc +debug_info(参考erlang手册里面的compile模块)
6 重新编译一次,然后再执行./create_erl_proto
6 最后,自己可以写个控制脚本来控制编译代码和生成proto。下面是我整理好的代码,有兴趣的可以下载看看。本人水平比较低,有问题谢谢指教 。
https://github.com/basho/erlang_protobuffs
因为这个项目是用rebar编译的,本人比较笨 ,不会玩rebar,所以就提取了src文件夹里面的代码,自己写了个makefile来编译
下面就来记录一下我的实验步骤
1 创建项目目录结构
cd /data mkdir -p protobuffs/{ebin,hrl,proto,scripts,src/{include,mod}}
2 导入源文件到src/mod目录下
3 这里有个注意事项:里面有protobuffs_parser.yrl和protobuffs_scanner.xrl文件,
有两种处理方法:
1 先编译成erl文件,然后下面的makefile编译规则就不用加上yrl和xrl(具体看makefile)
编译方法:
直接在src/mod目录下执行: erlc protobuffs_parser.yrl protobuffs_scanner.xrl 或者运行erl环境 erl yecc:file(protobuffs_parser). leex:file(protobuffs_scanner).
2 不编译成erl文件,然后下面的makefile编译规则要加上yrl和xrl
模式规则 %.beam : %.erl %.yrl %.xrl erlc $<
4 写makefile
1 inlcude.mk:放到hrl目录下
2 Makefile:在src目录下创建
3 在src/目录下,执行make
5 测试
1 在proto/目录下创建proto文件
2 在scripts目录下创建all.proto导入proto/目录下的所有proto文件
3 写个shell脚本控制生成proto
4 执行
5 为什么会报no_abstract_code错误呢,这涉及编译的问题,pokemon_db.beam要生成the form of abstract code 所以修改include.mk:
ERLC := erlc +debug_info(参考erlang手册里面的compile模块)
6 重新编译一次,然后再执行./create_erl_proto
6 最后,自己可以写个控制脚本来控制编译代码和生成proto。下面是我整理好的代码,有兴趣的可以下载看看。本人水平比较低,有问题谢谢指教 。
- protobuffs.tar (690 KB)
- 下载次数: 1
发表评论
-
erlang-Astart算法
2018-07-02 08:34 457%%%-------------------------- ... -
erlang--常用内建函数收录
2016-07-15 15:43 4711:gen_event:which_handlers(Even ... -
erlang异常--try...catch
2016-07-13 19:48 889触发异常 throw(Term) exit(Reason ... -
erlang-退出信号捕捉trap_exit
2016-07-12 09:54 999进程链接的工作: A进程意外退出时,会产生一个退出信号。所 ... -
Erlang--随机数
2016-04-25 10:26 19341、普通随机 random:uniform(N) 2、以时间 ... -
Erlang--性能分析工具之eprof
2016-04-12 18:22 652eprof是erlang自带的一个性能分析工具,可以帮助我 ... -
Erlang监控工具(二)etop
2016-04-07 17:46 1718file:///D:/Program%20Files/er ... -
Erlang监控工具(一)observer
2016-04-05 15:17 1208Erlang系统本身携带一个图形化监控工具,它可以监控:系 ... -
Erlang--epmd
2016-03-30 14:13 565epmd Erlang Port Mapper Daemo ... -
Erlang--节点
2016-03-30 11:25 703Erlang节点 file:///D:/Program%20F ... -
小技巧收录----唯一ID
2016-03-08 14:34 871在游戏开发中,角色id或者公会id等都需要做唯一设计, ... -
Erlang--TCP学习(五)总结篇
2015-07-15 19:55 1714一、erlang socket的消息流的三种控制方式: 1 ... -
Erlang--TCP学习(四)并行web server篇
2015-07-14 20:09 612-module(tcp_parallel_server). ... -
Erlang--TCP学习(三)串行web server篇
2015-07-14 19:35 464简单web sever改进版:串行服务器,一次只接受一个连 ... -
Erlang--TCP学习(二)简单web_Server篇
2015-07-14 16:39 1000现在来写个简单的web服务器,要实现的功能是:只接受一个s ... -
Erlang--TCP学习(一)Client篇
2015-07-14 16:39 699gen_tcp:connect(Host,Port,[Op ... -
erlang sasl错误日志
2015-04-22 16:03 1373SASL (System Architecture Sup ... -
erl启动参数
2015-04-20 16:54 1022erl启动参数分类 1 emulator flags 用“ ... -
Erlang和SMP
2015-04-17 15:44 1672SMP:Symmetrical Multi Processor ... -
erlang安装
2015-03-09 17:38 653erlang安装 1 解压包 tar -zxvf otp_s ...
相关推荐
Android_makefile编译系统_Android.mk_文件语法规范
OTP进程池应用程序_Erlang_Makefile_下载.zip
linux 工程源码管理和编译makefile
跟我一起写Makefile.pdf 掌握Makefile的使用。
文档以示例的方式详细描述makefile的语法及用法,是快速学习掌握makefile的好资料。
linux_makefile_详解.pdf
Linux_makefile_教程_非常详细_且易懂
make文件夹包含了两个子文件夹,a_b子文件夹实现多目标Makefile编译,projects子文件夹实现多层次Makefile文件编译。make文件夹中实现多个Makefile文件编译,即调用a_b和project2子文件夹中Makefile编译。
跟我一起写Makefile和Shell的主要命令,对于初学Linux开发非常有用
Linux操作下的脚本语言,Makefile快速入门,帮助你掌握Makefile
Android编译流程_makefile流程
跟我一起写 Makefile
Makefile经典教程,用于编译和链接,Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。非常有用!
MATRIX手势检测节点SDK_Makefile_JavaScript_下载.zip
linux unix makefile 编写指南
LinuxUnix的makefile文件.rar
陈皓讲解的关于GNU Makefile的文档,讲解的比较简洁明了,很有帮助