脚本传参
用户在运行 shell 脚本的时候,可在其后面带参将参数传到文件中,如:
$1 表示运行脚本后面带的第一个参数, $2 表示运行脚本后面带的第二个参数,以此类推...
实例:
脚本文件 strip_script.sh 内容
#!/bin/sh
arm-linux-gnueabihf-strip $1;
运行命令 ./strip_script.sh proc1 等同于命令:
arm-linux-gnueabihf-strip proc1;
打包动态库(交叉编译)
基于已经编译生成的 aaa.o bbb.o 文件打包生成动态库 libBBB.so 文件,期间链接已经存在的动态库文件 libAAA.so:
arm-linux-gnueabihf-gcc -L"../libAAA_path/" -shared -fPIC -o "libBBB.so" debug/aaa.o debug/bbb.o -lAAA;
说明:链接过程libBBB.so 与 libAAAI.so 存在依赖关系,以上命令其实并不需要指定 libAAA.so 的路径和文件,同样可以生成 libBBB.so 文件;
打包静态库(交叉编译)
基于已经编译生成的 aaa.o bbb.o 文件打包生成静态库 libBBB.a 文件,期间链接已经存在的动态库文件 libAAA.so:
arm-linux-gnueabihf-ar -r libBBB.a debug/aaa.o debug/bbb.o;
说明:libBBB.a 库函数的实现需要依赖于动态库文件 libAAA.so,但是如上面所描述,生成静态库文件并不需要特别指定所依赖的 libAAA.so 路径和文件名。
但是在实际使用 libBBB.a 静态库的时候,是否需要带上 libAAA.so,这部分还需要验证。