WIFEXITED WIFEXITSTATUS 宏
WIFEXITED WIFEXITSTATUS macros
我正在使用 luajit ffi 库调用 C 库函数 waitpid。
但是我找不到状态结果编码的正确规范。我找到的唯一文档是我更喜欢用纯 lua.
编写的 C 宏函数
我简要查看了定义这些宏的头文件,您知道吗,它们并不简单,而是引用其他宏,而这些宏又引用其他宏。
你能帮忙吗?
一种方法是将宏包装在小函数中:
#include <sys/types.h>
#include <sys/wait.h>
int wifexited(int status) {
return WIFEXITED(status);
}
int wifexitstatus(int status) {
return WEXITSTATUS(status);
}
现在构建一个 DLL(你没有提到 OS,所以你必须自己解决)。
加载 DLL ffi.load(...)
最后:
waitpidlib = ffi.cdef[[
int wifexited(int status);
int wifexitstatus(int status);
]]
...
local ans = waidpidlib.wifexited(42)
我正在使用 luajit ffi 库调用 C 库函数 waitpid。
但是我找不到状态结果编码的正确规范。我找到的唯一文档是我更喜欢用纯 lua.
编写的 C 宏函数我简要查看了定义这些宏的头文件,您知道吗,它们并不简单,而是引用其他宏,而这些宏又引用其他宏。
你能帮忙吗?
一种方法是将宏包装在小函数中:
#include <sys/types.h>
#include <sys/wait.h>
int wifexited(int status) {
return WIFEXITED(status);
}
int wifexitstatus(int status) {
return WEXITSTATUS(status);
}
现在构建一个 DLL(你没有提到 OS,所以你必须自己解决)。
加载 DLL ffi.load(...)
最后:
waitpidlib = ffi.cdef[[
int wifexited(int status);
int wifexitstatus(int status);
]]
...
local ans = waidpidlib.wifexited(42)