SDL功能名称?

时间:2012-11-23 11:32:05

标签: c sdl

所以,我正在使用C学习SDL。

稍微捣乱后,我设法得到SDL_Init()来给出分段错误。经过一番调查后发现,罪魁祸首是我创建了一个函数int connect()。如果我将该功能重命名为其他内容,例如my_connect(),然后一切正常。

我认为名为connect()的函数已经存在于SDL库的某处,而我的定义导致了冲突。但是,API没有提到名为connect或类似的函数。

使用SDL时是否还有其他名称?我在哪里可以找到它们的清单?

...或者这只是需要封装的另一个很好的例子吗?

1 个答案:

答案 0 :(得分:4)

所有SDL名称均以SDL_开头。但是,SDL可以调用标准C函数(例如connect)来运行。如果您的应用程序使用该名称创建一个全局函数,它将替换标准库中的一个函数,从而使SDL使用您的SDL而不是全局函数。确实,使用不同的名称可以解决问题。另一个选择是让你的函数保持静态(但当然你不必全局需要它)。