我最近升级到Xcode7,使用%p format-specifier时输出更改了。当我运行代码时(如下):
IOLog("%s[%p]::%s()\n", getName(), this, \_\_FUNCTION\_\_);
我得到:
com_MyCompany_MyDriver []::init()
使用Xcode6我得到:
com_MyCompany_MyDriver [0xffffff8015c49a00]::init()
在Xcode6下,我得到一个真实的地址。在Xcode7下,我得到“ptr”。从6变为7?为什么%p给出这样的抽象字符串而不是真实地址?
最佳答案
系统完整性保护通过用''替换内核地址来保护内核地址。