c/c++开发分享为什么在vulkan.h中,不可调度的对象总是被定义为64位?

看着vulkan.hi看到这个:

#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || ..... #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object; #else #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object; #endif 

有谁知道为什么64位? 对我来说,总是使用ifdef的第一个案例似乎更合理

    在规范中,它明确指出不可分派的句柄必须是64位:

    不可分派的句柄类型是64位整数类型,其含义与实现有关,并且可以直接在句柄中编码对象信息,而不是指向软件结构。 不可分派类型的对象在类型或类型中可能没有唯一的句柄值。 如果句柄值不是唯一的,那么销毁一个这样的句柄不能导致其他类型的相同句柄变得无效,并且如果创建的句柄值比已经多次创建,则不能导致相同类型的相同句柄变为无效。销毁。

      以上就是c/c++开发分享为什么在vulkan.h中,不可调度的对象总是被定义为64位?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注(猴子技术宅)。

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/545325.html

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注