SDL:"在C++中本地工作"是什么意思?

her*_*ity 3 c++ python pygame sdl python-2.7

我试图得到上面这句话的一般意义.我正在学习PyGame并遇到了SDL(Simple DirectMedia Layer)参考.

从PyGame引用SDL:"Pygame是SDL的python包装器,由Pete Shinners编写." http://www.pygame.org/docs/tut/newbieguide.html

我查找了SDL(上面的URL中的SDL链接[只需单击SDL])并进入"SDL用C语言编写,本机与C++一起工作,......"这里:http://libsdl.org/

我已经考虑过"本机"一词来暗示原始环境,但我不明白为什么用C语言编写的东西在C语言中不是原生的,而是C++中的原生语言?

这句话是否意味着它在C++中同样有效?

Jon*_*art 7

SDL是用C语言编写的,与C++本身一起工作,并且有几种其他语言可用的绑定,包括C#和Python.

我想你可以从这个声明中删除以下内容:

  • SDL是用C语言编写的.因此,您可以直接从C程序中调用它.
  • C++"被设计为与C编译器的源代码和链接兼容" 1,因此您可以在C++程序中"本地"使用SDL,这意味着不需要翻译/编组层.您可以简单地#include使用头文件,并直接调用API.
  • 其他语言(如C#和Python)本身无法调用C API,并且需要对参数进行编组.这种编组是在语言绑定中完成的.