Giter VIP home page Giter VIP logo

metoo's Issues

make出错了

编译这个需要其他什么条件吗,skynet可以编过

mac 下cd到metoo 执行make出错

已经把Makefile中的PLAT ?= linux 修改成PLAT ?= macosx执行make 出错,提示:
gcc -O2 -fPIC -Wall -shared -o protobuf.so -I../.. -I/usr/local/include -L../../build pbc-lua53.c -lpbc
Undefined symbols for architecture x86_64:
"_luaL_buffinit", referenced from:
__pattern_pack in pbc-lua53-d7329b.o
……
好像是64位的问题,请问有什么办法解决吗?

Centos7 make 报错

make 时报下面错误,请问需要改哪里呢?

cc -g -O2 -Wall -fPIC --shared lualib-src/lua-log.c -o luaclib/log.so
lualib-src/lua-log.c:1:10: fatal error: lua.h: No such file or directory
#include <lua.h>
^~~~~~~
compilation terminated.
make: *** [luaclib/log.so] Error 1

mac 平台下的问题

1.makefile里面的平台是macosx,但是编译时log模块包含的Lua头文件找不到报错
2.log里面的fwrite_unlocked找不到

UserMultiEntity中一个逻辑会导致玩家数据无法加载的问题

local record
if self.recordset[uid] then
    if not field then
        record = self.recordset[uid][id] or {}
    elseif type(field) == "string" then
        if not self.recordset[uid][id] then return end
        record = self.recordset[uid][id][field]
    elseif type(field) == "table" then
        record = {}
        local t = self.recordset[uid][id]
        if not t then return record end
        for i=1, #field do
            record[field[i]] = t[field[i]]
        end
    end
    --此处不应该直接return
    --调用方如果第一次有传的id,那么slef.recordset[uid]中仅会有一个记录,会导致后续的其他记录均无法查询到,应判断如果不存在,尝试去redis\mysql加载一次
    return record
end

log模块一个回滚的BUG,会导致无限回滚

if (inst.written_bytes >= inst.rollsize)
{
    fclose(inst.handle);
    continue;
}

rollfile后,并没有将written_bytes置0,次数会导致一直在while(1)中无限创建文件,直到磁盘inode不足

common table 的疑问

metoo/game/main.luacommon 中有字段 columns,我理解只加载commontable的指定字段值到redis和内存中,可是metoo/common/dbmgr.luaload_data_impl方法里,却用的是config.fields,是否为错误?
另外metoo/userdc.luacheck_rolename_exists方法,用于判断名字是否重复,记得metoo稍早的版本用到了该方法,当前的版本去掉了,不知道作者何用意? 实际应用中,此逻辑是有必要的,但是response.roleinit方法中就有必要在user_dc.req.add方法中更新entUserCustom的值,但是CommonEntity:addCommonEntity:update方法都需要row参数里包含pk,这是否和columns = "name" 矛盾,应该为columns = "name, uid"

log模块引发core的BUG

在work_func中,对new_buffer2赋值时,应该是new_buffer2 = buffers_to_write.head; 而不是new_buffer2 = buffers_to_write.head->next;

在append时,当前端写速度超过一块buffer时,对curr_buffer赋值时,应先指定next,否则会在work_func中发生core

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.