c/c++语言开发共享Mac OS X上的标准C库在哪里?

我试图在Mac OS X上找到标准的C库。我尝试过像“/usr/lib/libc.a”或“/usr/lib/libm.a”这样的路径,但是没有这样的文件系统。 你能告诉我在哪里找到它吗?

然后我在Linux机器上使用Terminal并运行这样的命令:

ar t /usr/lib/libc.a 

它返回一个.o文件列表,那些.o文件是这样的:

 svc.o xdr.o ... 

这些文件的含义是什么? 哪里可以找到它们?

    标准库是OS X上libSystem.dylib的一部分。

    它看起来像是:

     /usr/lib/libSystem.B.dylib 

    在我的机器上(MacOS X 10.6.7)。

    为了回答问题的另一半,OS X通常不使用静态库( .a )。 因此,OS X上没有libc.a (或libSystem.a )。

    回答第二个问题:静态库保存在归档文件中,因此.a 。 因此它们只是一堆文件的容器,就像ZIP,TAR,RAR等减去任何压缩。 ar (代表存档 )实用程序列出的那些文件是打包到存档中的原始文件。 您可以解压缩并获取原始文件。

    静态库与动态库形成鲜明对比。 静态库的内容由链接器提取并在链接时包含在您的程序中,就好像它们只是程序构建过程的其他编译阶段的结果一样。

    动态库OTOH不仅仅是目标文件的归档,而且它们本身是链接可执行文件,动态链接器将它们映射到链接进程地址空间,并调整符号表以匹配映射地址。

    实际上它确实存在于/usr/lib/system/libsystem_c.dylib

    您可以使用$ nm -gU /usr/lib/system/libsystem_c.dylibvalidation: $ nm -gU /usr/lib/system/libsystem_c.dylib

    需要了解更多c/c++开发分享Mac OS X上的标准C库在哪里?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享Mac OS X上的标准C库在哪里?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/979973.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐