浏览 2626 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-05
但是修改 prim_inet.erl 之后,重新编译发现没有生效 编译步骤就是 ./configure make make install 改了好几遍,都没有用处 然后将 prim_inet.beam 删掉 socket 接口居然一样能跑 是否 pre_loaded 中的 beam 文件是否被编译成了一个.so文件? 那该如何修改 pre_loaded 中的 .erl 文件呢 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-06-05
不是这么改的 prim_inet.erl是个preload模块 系统编译的时候是把prim_inet.erl编译成prim_inet.beam,然后把prim_inet.beam搞成preload.c的一个数组,最后和系统的其他部分形成整体。 所以你要改 必须在 erts/preloaded/src目录下改,然后编译出来的东西要放在erts/preloaded/ebin下, 再删除掉erts/emulator/i686-pc-linux-gnu/preload.c这时候
LANG=C /usr/bin/perl utils/make_preload -old /root/otp_src_R13B/erts/preloaded/ebin/otp_ring0.beam /root/otp_src_R13B/erts/preloaded/ebin/init.beam /root/otp_src_R13B/erts/preloaded/ebin/prim_inet.beam /root/otp_src_R13B/erts/preloaded/ebin/prim_file.beam /root/otp_src_R13B/erts/preloaded/ebin/zlib.beam /root/otp_src_R13B/erts/preloaded/ebin/prim_zip.beam /root/otp_src_R13B/erts/preloaded/ebin/erl_prim_loader.beam /root/otp_src_R13B/erts/preloaded/ebin/erlang.beam > i686-pc-linux-gnu/preload.c 系统会重新生成preload.c, 我说明白了吗? |
|
返回顶楼 | |
发表时间:2009-06-07
听明白了,非常感谢
|
|
返回顶楼 | |
发表时间:2009-08-18
突然发现 make preloaded
|
|
返回顶楼 | |