Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        3年前关闭。
                                                                                            
                
        
我知道头文件具有有关它们调用的函数和类的基本数据。这些功能的实际代码存储在另一个扩展名为.dylib的文件中。当我尝试弄乱MacBook上的命令行时,遇到了一个包含所有.dylib文件的目录。我特别感兴趣的两个是C和C ++标准库。但是,使用文本编辑器打开它们后,我得到的只是一堆无法解释的符号。我做了一些研究,发现所有帖子都提到这些文件是加密的。他们为什么要加密库?有没有办法查看这些库的内部?谢谢

首先发布到此站点,如果我不小心做了超出社区准则的事情,那么深表歉意。我也是编程新手,我相信您会看到的。

最佳答案

它们未加密,而是在Mac上以mach-o格式(https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/MachORuntime/)和其他平台上的其他格式进行编译和链接。除非您想对工程进行逆向工程或进行OS开发,否则可能不值得学习太多。

通常,除非您阅读了反汇编文件,否则您需要库的源代码才能查看其中的内容,这可能超出了本问题的范围。

对于macosx上使用的C和C ++标准库,它们是开源的:

https://opensource.apple.com/source/Libc/

http://libcxx.llvm.org/

通常,在类unix的平台上,传统的做法是从源代码构建库,但是在macosx上,有一些纯苹果库不是源代码,例如可可库和quicktime库。

关于c++ - 如何查看库(特别是C标准库)的内部? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39403266/

10-10 16:39