Ich bin in einem C++ - Projekt, mit dem ich arbeite, auf eine Syntax gestoßen und weiß nicht, was ich davon halten soll. Der Compiler wirft keine Fehler in diesem Zusammenhang:Leerzeichen in Funktionsaufruf Parameterliste (C++)
lua_pushstring(L,"swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME);
Hinweis die Räume zwischen [was ich davon ausgehen, werden] die Funktionsparameter.
Die Funktionsdefinition für lua_pushstring
ist
LUA_API const char *(lua_pushstring) (lua_State *L, const char *s);
SWIG_RUNTIME_VERSION
ein
#define
gleich "4"
ist SWIG_TYPE_TABLE_NAME
wird im folgenden Block definiert:
#ifdef SWIG_TYPE_TABLE
# define SWIG_QUOTE_STRING(x) #x
# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
#else
# define SWIG_TYPE_TABLE_NAME
#endif
Kann mir jemand erklären, was los ist Hier?
Als weitere Referenz wird der Code in der swig project auf GitHub verwendet: luarun.swg:353 und luarun.swg:364.
Ich bin mir nicht sicher, ob ich die Frage verstehe. '" abc "" 123 "' verkettet die beiden Strings: '" abc123 "' – ZDF
Wissen Sie, was der "stringizing" Operator ('#') in einem Makro macht? Viele Links hier und anderswo mit diesen Informationen. – PaulMcKenzie
@PaulMcKenzie Ist das, wofür das '#' symbol ist? –