OpenSSL

密码学和SSL/TLS工具包

OPENSSL_API_COMPAT

名称

openssl_user_macros, OPENSSL_API_COMPAT, OPENSSL_NO_DEPRECATED - 用户定义宏

描述

用户定义的宏允许程序员控制OpenSSL头文件中公开的某些方面。

注意: 要使其生效,用户定义的宏必须在包含任何依赖它的头文件之前定义,可以在编译命令中定义(cc -DMACRO=value),或者在包含任何头文件之前在源代码中定义宏。

当声明依赖于用户定义的宏时,其他手册页可能会引用此页面。

OPENSSL_API_COMPAT

该值是一个版本号,以以下两种形式之一给出

0xMNNFF000L

这是所有版本(直至1.1.x)都支持的形式,其中M表示主版本号,NN表示次版本号,FF表示修订版本号(以十六进制表示)。对于版本1.1.0,它是0x10100000L

可以给出任何版本号,但这些数字是当前已知的主要弃用点,使它们最有意义

0x00908000L(版本0.9.8)
0x10000000L(版本1.0.0)
0x10100000L(版本1.1.0)

为方便起见,只要可行,也接受更高的数字。例如,0x60000000L将按预期工作。但是,建议改为开始使用第二种形式

mmnnpp

此形式是一个简单的十进制数字,使用以下公式计算

主版本 * 10000 + 次版本 * 100 + 修订版本

其中主版本次版本修订版本是版本号所需的主版本、次版本和修订版本组件。例如

30000对应版本3.0.0
10002对应版本1.0.2
420101对应版本42.1.1

如果OPENSSL_API_COMPAT未定义,则使用此默认值代替:30300

OPENSSL_NO_DEPRECATED

如果定义了此宏,则所有在OPENSSL_API_COMPAT给出的版本(或上面给出的默认值,当OPENSSL_API_COMPAT未定义时)及之前的所有OpenSSL版本中的已弃用公共符号都将被隐藏。

版权所有 2018-2021 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0(“许可证”)许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。