为什么SDL定义主宏?
在设置SDL时遇到一些问题后,我发现SDL定义了一个替换main的宏:
#define main SDL_main// And then extern C_LINKAGE int SDL_main(int argc, char *argv[]);
如果main函数没有定义argc
和argv
参数,这也会产生编译错误。
当我看到它时,这个宏让我感到头疼......为什么SDL需要重新定义主?经过一番搜索,我找到了一些人#undef main
,并以正常的方式使用它。
所以这就是问题: 为什么SDL需要重新定义main,它做什么?取消定义是否有任何副作用?
我注意到的一件事是SDL将标准输出和错误重定向到文件(我不想要这种行为),如果我取消定义主要行为,这种行为就会停止。
慕丝7291255
天涯尽头无女友
相关分类