关于macOS下C++代码指针地址强转十进制的问题
前言
在跑OS的代码时,发现提供的代码放在macOS环境下无法运行,已经将很多地方都做了修改了,最终成功运行,但在显示地址的位置无法正确显示。
正文
在解决了namespace的问题后,发现还有个报错。
由于基础的问题,当时没有发现问题的所在,就加了个指针就过了。
执行的时候发现内存地址显示为16进制。
通过多次断点,还是没找到问题的所在。
最终把问题回到步骤1上。
test33.cpp:45:11: error: cast from pointer to smaller type 'int' loses information
发现上当前内存长度超过了int的长度限制,因此换成long即可。
成功解决问题