在看skynet中遇到类似require(“skynet.core”)或者require "skynet.core"这样写的,对于这个中间有.的包名,如果C库写的,那么这个文件的命名应该是怎么样的呢?
在windows上这样的文件是xx.dll,linux上是xx.so,我们来了解一下这样的动态库怎么写和命名。
以windows上为例:
(具体怎么将main.c编译成lua调用的dll,可以查看https://blog.youkuaiyun.com/hp_cpp/article/details/104572573)
main.c文件:
#include <stdio.h>
#include <string.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
static int add(lua_State* L)
{
double op1 = luaL_checknumber(L, 1);//去栈中拿参数