重新解释强制转换行为的 GCC 实现
我如何知道重新解释强制转换将如何在 GCC 编译器上工作?文档中有提到吗?我可以知道任何参考或链接(如果存在)吗?
How can I know how will reinterpret cast work on GCC compiler? Is it mentioned in the documentation? May I know any reference or link if it exist?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
阅读标准中的文档,它对不同类型非常明确。但对于基本指针,我们有:
对于整数:
Reading the documentation in the standard it is very explicit about different types. But for the basic pointer we have:
For integers:
我在 g++ 中多次使用过
reinterpret_cast
。在嵌入式编程中,它对于将表示外设寄存器的struct
映射到其(固定)地址非常有用:这让我可以编写如下代码:
它做正确的事情(将 0x40000004 处的寄存器设置为值) 0x12345678)并且非常清晰。
很难判断您的问题是否要求提供除此之外的详细信息。
I have used
reinterpret_cast
many times with g++. In embedded programming, it's useful for mapping astruct
that represents a peripheral's registers to its (fixed) address:This lets me write code like:
which does the right thing (set the register at 0x40000004 to the value 0x12345678) and is quite legible.
It's hard to tell if your question is asking for details beyond this.