简介
本页将介绍什么是 Vector Helper 与其相关特性

Vector Helper 是一个用 C 编写的 Vector Array(矢量数组)库,皆在为 C 项目提供侧重于运行时安全的高性能 Vector Array。若您使用过 C++ Std,您应该知道 <vector> 头文件中声明的std::vector<T> 模板类提供了 Vector Array,但 std::vector<T> 仅限于在 C++ 中使用。

Vector Helper 原先是 SmallSO Studios. 内部纯 C 项目中的子模块,皆在纯 C 中实现与 std::vector<T> 模板类大致相同的功能,而开源版本则是从其项目中分离并整理出来的独立版本。Vector Helper 遵循新的 API 规范,与 std::vector<T> 模板类不同。并且,Vector Helper 是侧重于运行时安全设计的,也即包含更多的 API 调用检查、出入参数合法验证等。在性能方面,与 std::vector<T> 模板类接近。

整体上来看,主要有以下几点:
  • Vector Helper 侧重于运行时安全,但这不是绝对的。
  • Vector Helper 侧重于运行时完整性,但这不是绝对的。
  • Vector Helper 在确保运行时安全和完整性的同时,尽可能地提升性能。
  • Vector Helper 确保 C/C++ 可同时使用,为其提供预处理器兼容性支持。
  • Vector Helper 以跨主流平台的通用性 C 代码为主(理论上),但一部分平台是未经过验证的。

Vector Helper 项目由 SmallSO 创建并在 Github 以 MIT 许可证开放源代码。在没有明确声明之前,SmallSO 将保持对该项目的定期维护,也欢迎其他开发者加入该项目的开发与维护。若有任何问题或建议,欢迎前往 Github 提交 issue。

或许很多开发者对于 Vector Helper 侧重于运行时安全和完整性不太理解,认为开发者应该对 C 代码的执行结果负责,没必要因此而牺牲执行性能。的确,我们非常认同这一观点,但由于 Vector Helper 原先是 SmallSO Studios. 内部纯 C 项目的子模块,该内部项目运行在服务端,对容错有一定的要求。当然,这并不代表我们对这一内部项目的不信任,但作为服务端项目,我们依旧认为应具有一定的容错能力。上述内容中的“容错”是指针对开发者的,而非执行代码本身,皆在阻止与开发者预期不符的常规错误操作。
若您认为不需要运行时安全与完整性保护,您可以从 Vector Helper 中移除和运行时安全与完整性相关的代码。除非您对性能要求非常高,否则不建议您这么做。
最后,欢迎更多开发者参与 Vector Helper 项目的开发、优化与维护工作。
仍有疑问?建议您参阅 “常见问题” 页面或向我们反馈。
Last modified 4yr ago
Copy link
On this page
什么是 Vector Helper?
为什么存在 Vector Helper?
Vector Helper 与其他 Vector Array 有何不同?
Vector Helper 目前由谁维护?
最后...