求解函数名加括号的意义

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的用法