符号“ _creat $ NOCANCEL”中的“ $”是什么意思?

时间:2019-08-06 12:24:40

标签: c

运行命令时,我在终端中得到了输出 nm -gU /usr/lib/system/libsystem_c.dylib

000000000007cb4c T ___opendir2
000000000002a944 T ___opendir2$INODE64
00000000000141d0 T ___ovfl_delete


000000000003a9e1 T _fdopen
000000000007af54 T _fdopen$DARWIN_EXTSN
  1. $中的___opendir2$INODE64是什么意思?
  2. INODE64中的___opendir2$INODE64是什么意思?

在查看libdispatch(苹果中央调度)libdispatch symbols的符号时,我发现了三个具有相同前缀的符号:_dispatch_main_queue_callback_4CF

_dispatch_main_queue_callback_4CF$VARIANT$mp
_dispatch_main_queue_callback_4CF
_dispatch_main_queue_callback_4CF$VARIANT$armv81
  1. 这三个符号是由同一来源生成的吗?

1 个答案:

答案 0 :(得分:1)

没有特殊含义。美元符号在链接器符号中算作字母(就像下划线一样),因此它们只是有人选择以此方式命名的符号。可能他们故意选择添加美元符号,以减少与程序员可能在C中定义的内容发生冲突的风险。