The mechanism by which Vulkan is made available to applications is platform- or implementationdefined.
Vulkan对于应用程序的机制是平台或者实现定义的。
On many platforms the C interface described in this Specification is provided by a shared library.
在很多平台共享库描述了C语言的接口。
Since shared libraries can be changed independently of the applications that use them, they present particular compatibility challenges, and this Specification places some requirements on them.
共享库可以独立于使用它们的应用程序,它们呈现兼容挑战。
Shared library implementations must use the default Application Binary Interface (ABI) of the standard C compiler for the platform, or provide customized API headers that cause application code to use the implementation’s non-default ABI.
共享库的实现必须使用标准C编译器的默认应用程序二进制接口。
An ABI in this context means the size, alignment, and layout of C data types; the procedure calling convention;
一个上下文ABI意味着size,alignment和C数据类型的布局;这个流程被称为协定。
and the naming convention for shared library symbols corresponding to C functions.
Customizing the calling convention for a platform is usually accomplished by defining calling convention macros appropriately in vk_platform.h.
通过vk_platform.h的宏来进行客制化。
On platforms where Vulkan is provided as a shared library, library symbols beginning with “vk” and followed by a digit or uppercase letter are reserved for use by the implementation.
在平台上vulkan被提供作为一个共享库,库的syambols以“vk”开始和后面接数据或者大写字符。
Applications which use Vulkan must not provide definitions of these symbols. This allows the Vulkan shared library to be updated with additional symbols for new API versions or extensions without causing symbol conflicts with existing applications.
使用vulkan的应用程序不会提供这些符号的定义。这个允许vulkan共享库可以使用新的api或者扩展来更新,并且保证和存在的应用程序不冲突。