总结:
.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文件。
- .a文件可以通过 find / -name “*.a” 从根目录往下查找内存中的.a文件,通过 file xxx.a 文件查看文件的格式。
- cd /usr/lib 目录下,ls 可以查看该目录下的.dyib文件,通过file该类文件,可以查看该类文件的格式。
- /usr/lib 下同样有dyld文件,file改文件可以查看改文件格式。
- 项目building release版本的时候,product目录下,.app showInFider下可以看到生成的.dsym文件,显示包内容,如下,file下可以查看改文件的格式。
通用二进制文件
machO 文件结构