SDL如何在没有源文件的情况下工作
How SDL work without source files?
在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
的源代码完全相同。
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 在未初始化映射的情况下,将值插入到映射的映射中
- 是默认情况下分配给char数组常量的值
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- 如何在不产生任何垃圾的情况下获得C中的像素
- 在已经使用Git的情况下减少编译时间
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- 如何在没有信号的情况下从C++执行QML插槽
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 为什么在某些情况下不写入此文件?
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 在没有Xcode的情况下在Mac捆绑包中嵌入框架
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 为什么需要复制构造函数,在哪些情况下它们非常有用
- 如何在不安装的情况下将opencv源文件作为cmake依赖项包括在内
- cmake:您在没有任何源文件的情况下调用了库 cryptopp 的ADD_LIBRARY
- 如何在没有源文件的情况下使用静态库(在我的例子中是 assimp)
- 在不指定源文件的情况下生成文件
- SDL如何在没有源文件的情况下工作