Why we have to pass parameters in main functions while sdl setup in Mingw?(为什么在Mingw中设置SDL时,我们必须在主函数中传递参数?)
本文介绍了为什么在Mingw中设置SDL时,我们必须在主函数中传递参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这些参数有什么用? 是否还有其他方法可以在不使用Main中的参数的情况下运行SDL?
int main( int argc, char* args[] )
推荐答案
让我解释一下。
在普通程序中,您可以使用main
的两种有效形式之一:
int main()
int main(int argc, char **argv) // arguments' names do not matter here
它们之间的区别在于,第二种形式允许您的程序接受命令行参数。
但SDL使用了一种特殊的
main
相关黑客攻击。
SDL在标题中的某个位置有#define main SDL_main
。
因此,预处理器将int main(...)
替换为int SDL_main(...)
。
main()
位于SDL代码中的某个位置。它执行一些初始化,然后调用您的"main
"(即SDL_main
)。
实际main()
可能如下所示:
extern SDL_main(int, char **);
int main(int argc, char **argv)
{
// SDL initialization
SDL_main(argc, argv);
}
它说明了为什么可以使用int main()
。SDL源代码没有int SDL_main()
的原型,因为C不支持函数重载。SDL_main
只能有一个原型,而SDL开发人员决定它应该是int SDL_main(int, char **)
。
int main(int, char **)
。
这篇关于为什么在Mingw中设置SDL时,我们必须在主函数中传递参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:为什么在Mingw中设置SDL时,我们必须在主函数中传递参数?
基础教程推荐
猜你喜欢
- 设计字符串本地化的最佳方法 2022-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- C++,'if' 表达式中的变量声明 2021-01-01
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01