一次 macOS 下 C++ 的 STL 踩坑记录

  1. 云栖社区>
  2. 博客>
  3. 正文

一次 macOS 下 C++ 的 STL 踩坑记录

死月 2018-12-10 14:25:42 浏览787
展开阅读全文

背景

最近有在做 RocketMQ 社区的 Node.js SDK,是基于 RocketMQ 的 C SDK 封装的 Addon,而 C 的 SDK 则是基于 C++ SDK 进行的封装。

然而,却出现了一个诡异的问题,就是当我在消费信息的时候,发现在 macOS 下得到的消息居然是乱码,也就是说 Linux 下居然是正常的。

重现

首先我们要知道一个函数是 const char* GetMessageTopic(CMessageExt* msg),用于从一个 msg 指针中获取它的 Topic 信息。

乱码的代码可以有好几个版本,是我在排查的时候做的各种改变:

// 往 JavaScript 的 `object` 对象中插入键名为 `topic` 的值为 `GetMessageTopic`

// 第一种写法:乱码
Nan::Set(
  

网友评论

登录后评论
0/500
评论
死月
+ 关注