Mach-O文件, 架构包framework的合并和拆分

总结:
在这里插入图片描述

在这里插入图片描述

.o文件

终端 vim test.c
输入指令:

#include <stdio.h>
void test1();
int main(){
printf("\ntest");
    test1();
return 1;
}

终端命令(编译test.c文件为test.o文件):
clang -c test.c

在这里插入图片描述
命令:
file test.o
可以查出test.o文件的mach-o格式

命令:
clang test.o
链接test.o文件。得出a.out可执行文件

命令:
./a.out
运行可执行文件,打印 test。

命令:
vim test.c
输入:

#include <stdio.h>
void test1();
int main(){
printf("\ntest");
    test1();
return 1;
}

vim test1.c
输入:

void test1()
{
printf("\ntest1\n");
return ;
}

命令:
clang -o demo test.c test1.c
编译链接出demo可执行文件。

命令:
./demo
执行demo可执行文件,打印出 test test1

命令:
clang -c test.c test1.c

可编译得出test.o 和 test1.o mach-o 二进制的mach-o 类型的objc 类型的文件。

命令;
clang -o demo test.o test1.o
可得出mach-o的可执行文件demo文件。

  1. .a文件可以通过 find / -name “*.a” 从根目录往下查找内存中的.a文件,通过 file xxx.a 文件查看文件的格式。
  2. cd /usr/lib 目录下,ls 可以查看该目录下的.dyib文件,通过file该类文件,可以查看该类文件的格式。
  3. /usr/lib 下同样有dyld文件,file改文件可以查看改文件格式。
    在这里插入图片描述
  4. 项目building release版本的时候,product目录下,.app showInFider下可以看到生成的.dsym文件,显示包内容,如下,file下可以查看改文件的格式。
    在这里插入图片描述

通用二进制文件

在这里插入图片描述
在这里插入图片描述

machO 文件结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值