在 1.2 版本的 SDL 库中,我找不到 .c 或 .cpp 文件。
我知道我可以从 SDL 网站下载它,但我猜,SDL 是如何只使用头文件工作的,它不需要源文件来读取函数的定义?
这可能是因为您查看的是库(二进制)分发版,而不是源代码。第一部分在这里:
http://www.libsdl.org/download-1.2.php
是源代码(作为 tar.gz、rpm 和 zip 文件存档),后面是二进制分发版的各种变体。
源代码库中肯定有很多.cc(C++ 源代码的别称)文件。
在二进制发行版中,只有您需要使用或开发库的文件,这意味着在前一种情况下可以安装在机器上的 DLL 或 .so 文件,在第二种情况下,头文件、.lib 或 .a 文件,这些文件允许您编译使用该库的代码。将代码作为二进制包分发是一种常见的做法,因为大多数人通常很少或根本不需要首先编译库 - 当然假设库中没有太多错误等。
为使用 SDL 而构建的应用程序链接到开发人员包中的库,并使用运行时分发中的 .DLL 或 .SO 文件(通常也包含在开发人员分发中以使其“一次下载而不是两次下载” ).这与您(通常)在编译器随附的 C 或 C++ 运行时库的分发版中没有 printf
或 cout
的源代码完全相同.
我是一名优秀的程序员,十分优秀!