很简单,在调用libnotify函数时出现segfault问题。错误代码:

int lua_libnotify_new(lua_State *L) {
    const char *summary = luaL_checkstring(L, 1);
    const char *body = lua_isstring(L, 2) ? lua_tostring(L, 2) : NULL;
    const char *icon = lua_isstring(L, 3) ? lua_tostring(L, 3) : NULL;
    NotifyNotification *notification = (NotifyNotification *)lua_newuserdata(L, sizeof(NotifyNotification));
    /* Error is the below line */
    notify_notification_update(notification, summary, body, icon);
    return 1;
}

最佳答案

经过一些修改,我意识到应该是sizeof(NotifyNotification*)。断然的。

关于c - 使用C函数notify_notification_update()的段故障,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33559657/

10-11 11:34