LUA_API int (lua_gettop) (lua_State *L); LUA_API void (lua_settop) (lua_State *L, int idx); LUA_API void (lua_pushvalue) (lua_State *L, int idx); LUA_API void (lua_remove) (lua_State *L, int idx); LUA_API void (lua_insert) (lua_State *L, int idx); LUA_API void (lua_replace) (lua_State *L, int idx); LUA_API int (lua_checkstack) (lua_State *L, int sz); ``` 一直不理解在函数名上加小括号的意义,看到的地方基本都是跟在extern后的,验证过这种写法没什么特殊作用,且语法支持,求指点这么写的好处和意义是什么?
int (*lua_gettop) (lua_State L);
int lua_gettop (lua_State *L);
觉得和函数指针和指针函数有关!
嗯,不是这个原因,很单纯的就是函数名加括号
#if defined(LUA_BUILD_AS_DLL)
#if defined(LUA_CORE) || defined(LUA_LIB)
#define LUA_API __declspec(dllexport)
#else
#define LUA_API __declspec(dllimport)
#endif
#else
#define LUA_API extern
#endif
就是lua动态链接库,详细信息可以见Luaconf.h
C++函数的写法呗 去学学extern的用法