文章 2024-07-25 来自:开发者社区

为什么在使用C++编写Redis模块时,需要禁用C++名称修饰(name mangling)

问题一:为什么在使用RedisModule_GetApi之前要通过((void**)ctx)[0]这种方式获取其地址? 为什么在使用RedisModule_GetApi之前要通过((void**)ctx)[0]这种方式获取其地址? 参考回答: RedisModuleCtx是Redis内核中定义的数据结构,对module来说是不透明的。由于getapif...

问答 2024-06-03 来自:开发者社区

为什么在使用C++编写Redis模块时,需要禁用C++名称修饰(name mangling)?

为什么在使用C++编写Redis模块时,需要禁用C++名称修饰(name mangling)?

文章 2023-04-27 来自:开发者社区

在 C++ 中命名 Mangling 和 extern “C”

「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」C++ 支持函数重载,即可以有多个同名但不同参数的函数。C++ 编译器在生成目标代码时如何区分不同的函数——它通过添加有关参数的信息来更改名称。这种向函数名称添加附加信息的技术称为Name Mangling。C++ 标准没有指定任...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注