Quartz Core 中奇怪的函数名称:是什么造成的?

发布于 2024-10-09 07:47:55 字数 406 浏览 4 评论 0原文

出于好奇,这些函数名称(在 Apple 的 Quartz Core 框架中找到)背后的基本原理是什么?

  • ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()
  • ZNK2CA6Render9Animation9next_timeEdRd()
  • ZN2CA11GenericRectIiE5insetEii()

您认为开发人员是否以某种方式在函数名称中编码了参数类型?在日常编码过程中,您如何发现自己将“EP19”放在那里?在什么情况下,这种难以阅读的函数名称实际上可以帮助您阅读代码并提高工作效率?

预先感谢您的任何提示,圣诞快乐!

Out of curiosity, what may the rationale behind these function names (found in Apple's Quartz Core framework) be?

  • ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv()
  • ZNK2CA6Render9Animation9next_timeEdRd()
  • ZN2CA11GenericRectIiE5insetEii()

Do you think the developers somehow encoded argument types in function names? How do you find yourself putting "EP19" in there in the course of day-to-day coding? In what circumstances do such barely readable function names actually help you read code and otherwise be more productive?

Thanks in advance for any hints, and Merry Christmas!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

°如果伤别离去 2024-10-16 07:47:55

这些“损坏的”名称由 C++ 编译器自动生成,并且确实编码类型信息。

These 'mangled' names are automatically generated by the C++ compiler and indeed encode type information.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文