相关疑难解决方法(0)

#include <filename>和#include"filename"有什么区别?

在C和C++编程语言中,使用尖括号和在include语句中使用引号有什么区别,如下所示?

  1. #include <filename>
  2. #include "filename"

c c++ include header-files c-preprocessor

2204
推荐指数
27
解决办法
55万
查看次数

什么是未定义的引用/未解析的外部符号错误,我该如何解决?

什么是未定义的参考/未解决的外部符号错误?什么是常见原因以及如何修复/预防它们?

随意编辑/添加您自己的.

c++ c++-faq linker-errors unresolved-external undefined-reference

1418
推荐指数
32
解决办法
52万
查看次数

为什么SDL定义主宏?

在设置SDL时遇到一些问题后,我发现SDL定义了一个替换main的宏:

#define main SDL_main

// And then
extern C_LINKAGE int SDL_main(int argc, char *argv[]);
Run Code Online (Sandbox Code Playgroud)

如果main函数没有定义argcargv参数,这也会产生编译错误.

当我看到它时,这个宏让我很头疼...为什么SDL需要重新定义主要?经过一番搜索,我找到了一些人#undef main,并以正常的方式使用它.

所以这就是问题: 为什么SDL需要重新定义main,它做什么?取消定义是否有任何副作用?

我注意到的一件事是SDL将标准输出和错误重定向到文件(我不想要这种行为),如果我取消定义主要行为,这种行为就会停止.

c++ program-entry-point sdl

36
推荐指数
2
解决办法
2万
查看次数