当typedef中有三个项目时,它意味着什么?
例如:
typedef CK_BYTE CK_PTR CK_BYTE_PTR;
Run Code Online (Sandbox Code Playgroud)
我知道,如果你只是typedef CK_BYTE CK_PTR; 然后CK_BYTE就可以被称为CK_PTR.
Kei*_*son 14
一点谷歌搜索表明这CK_PTR是一个定义的宏pkcs11.h.请点击该链接查看这些定义的文档.
它通常定义为:
#define CK_PTR *
Run Code Online (Sandbox Code Playgroud)
但在一些古老的系统上,它可能被定义为
#define CK_PTR far *
Run Code Online (Sandbox Code Playgroud)
where far是一个主要是过时的特定于系统的关键字,它指定某种非标准类型的指针.
所以这:
typedef CK_BYTE CK_PTR CK_BYTE_PTR;
Run Code Online (Sandbox Code Playgroud)
相当于这个(更清晰的)代码:
typedef CK_BYTE *CK_BYTE_PTR;
Run Code Online (Sandbox Code Playgroud)
它定义CK_BYTE_PTR为指向a的指针CK_BYTE.
引用的定义CK_BYTE_PTR发生在同一个头文件中.
| 归档时间: |
|
| 查看次数: |
530 次 |
| 最近记录: |