C ++大规模程序/框架构建

时间:2014-02-19 06:40:52

标签: c# c++ architecture project-structure

我实际上是一名c#程序员,业余爱好者,对低级和高级程序都很感兴趣。很多时候我遇到过像这样的大量代码的C / C ++项目 - >

#if defined(LUA_COMPAT_GETN)
LUALIB_API int (luaL_getn) (lua_State *L, int t);
LUALIB_API void (luaL_setn) (lua_State *L, int t, int n);
#else
#define luaL_getn(L,i)          ((int)lua_objlen(L, i))
#define luaL_setn(L,i,j)        ((void)0)  /* no op! */
#endif

#if defined(LUA_COMPAT_OPENLIB)
#define luaI_openlib    luaL_openlib
#endif


/* extra error code for `luaL_load' */
#define LUA_ERRFILE     (LUA_ERRERR+1)

我觉得很难绕过这一切,我能理解并编好c#。我可以用C / C ++编程,但我不理解这种声明和语法的必要性。我错过了什么吗?是否有书籍或网站可以学习这些陈述的用途和需要?

注意:我是一名电气工程师,所以在大学里接受编程的机会有限。我能做的大部分工作都是自我学习的。

1 个答案:

答案 0 :(得分:1)

这些是C ++宏。我相信C#也有类似的预处理器语句,如#if,#elif,#else,#endif
http://msdn.microsoft.com/en-us/library/ed8yd1ha.aspx
C ++中某些宏的目的是根据各种构建条件编译代码。