编译命令

作者: iOS小洁 | 来源:发表于2022-12-17 22:59 被阅读0次

创建静态库

libtool -static -arch_only x86_64 a.o -o a.a

libtool -static -arch_only arm64 -D -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.plat form/Developer/SDKs/iPhoneOS13.6.sdk test.o -o libTest.a

创建动态库

clang -dynamiclib -target arm64-apple-ios13.5 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhon eOS.platform/Developer/SDKs/iPhoneOS13.6.sdk a.o -o a.dylib

ar命令

ar压缩目标文件,并对其进行编号和索引,形成静态库。同时也可以解压缩静态库,查看有哪些目标文件:

ar -rc a.a a.o

  • -r: 像a.a添加or替换文件
  • -c: 不输出任何信息
  • -t: 列出包含的目标文件

合并静态库

libtool -static -o <OUTPUT NAME> <LIBRARY_1> <LIBRARY_2>

clang 命令参数:

clang命令参数:
     -x: 指定编译文件语言类型
     -g: 生成调试信息
     -c: 生成目标文件,只运行preprocess,compile,assemble,不链接
     -o: 输出文件
     -isysroot: 使用的SDK路径
     1. -I<directory> 在指定目录寻找头文件 header search path
     2. -L<dir> 指定库文件路径(.a\.dylib库文件) library search path
     3. -l<library_name> 指定链接的库文件名称(.a\.dylib库文件)other link flags -lAFNetworking
     -F<directory> 在指定目录寻找framework framework search path
     -framework <framework_name> 指定链接的framework名称 other link flags -framework AFNetworking
     

install_name_tool命令

install_name_tool -add_rpath <directory> libs_File 
install_name_tool -delete_rpath <directory> libs_File 
install_name_tool -rpath <old> <new> libs_File

编译优化设置

优化⽬标 可⽤的优化级别
较⼩的代码尺⼨ -Oz
性能优先,性能更⾼ -Oz, -O3, -Ofast
调试优先 -O1
更快的编译和构建时间 -O0
平衡代码⼤⼩和编译性能 -Os

相关文章

  • Sass编译

    一、命令编译 命令编译是指使用你电脑中的命令终端,通过输入 Sass 指令来编译 Sass。 多文件编译文件结构如...

  • Android 编译命令

    Android 编译命令 一、编译命令 编译Android源码的第一步 其中source命令就是用于运行shell...

  • go 常用命令记录

    交叉编译 在mac上编译64位linux, Windows的命令编译命令 在windows 上编译64位linux...

  • # Xcode 编译器调试命令(所有)

    # Xcode 编译器调试命令(所有) # Xcode 编译器调试命令(所有)

  • go build简介和标记

    go build 简介 用于编译文件或代码包 编译非命令源码文件不会产生任何结果文件 编译命令源码文件会再该命令的...

  • 2,程序的机器级表示

    一, 编译使用命令 1, 汇编命令 2, intel 汇编指令 3, 反编译 命令 二, 汇编指令 1, mov...

  • AndroidStudio编译报错但是不提示信息

    AndroidStudio编译报错但是不提示信息可以使用命令行执行下面命令编译:

  • 编译命令

    生成目标文件 目标文件包含了机器指令代码,数据,连接时需要的信息,符号表,调试信息,字符串表。1.不指定 targ...

  • 编译命令

    目录 一、生成目标文件: .o 二、查看调试信息 三、查看文件内容 四、静态库的压缩和解压缩 五、创建静态库 六、...

  • 编译命令

    生成目标文件 目标文件包含了机器指令代码、数据、链接时需要的信息、符号表、调试信息、字符串表。 1.不指定targ...

网友评论

    本文标题:编译命令

    本文链接:https://www.haomeiwen.com/subject/ioejqdtx.html