.MK当中strip作用
时间: 2023-10-31 22:06:33 浏览: 47
在.mk文件中,`strip`是一个Makefile函数,用于去除字符串中的空格。
`strip`函数的语法如下:
```
$(strip string)
```
其中,`string`是要去除空格的字符串。
`strip`函数的作用是去除字符串中的前导空格、尾部空格以及连续的多个空格,并返回处理后的结果。这在Makefile中非常有用,特别是在处理变量值时。
以下是一个使用`strip`函数的示例:
```makefile
# 定义一个带有前导空格、尾部空格和连续多个空格的变量
MY_VARIABLE := Hello, world!
# 使用strip函数去除空格,并输出结果
$(info Before strip: $(MY_VARIABLE))
$(info After strip: $(strip $(MY_VARIABLE)))
```
输出结果如下:
```
Before strip: Hello, world!
After strip: Hello, world!
```
可以看到,使用`strip`函数之后,变量值中的空格被成功去除了。
希望以上解释能够帮助你理解在.mk文件中使用`strip`函数的作用!
相关问题
Android.mk文件中strip语句的用法,举例
在Android.mk文件中,strip语句一般用于去除二进制文件的调试信息,以减小文件大小。strip语句的用法如下:
```
LOCAL_STRIP_MODULE := true
```
这里以去除.so库中的调试信息为例,假设有一个名为libtest.so的库文件,其对应的Android.mk文件中可以添加以下语句:
```
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := libtest.so
LOCAL_STRIP_MODULE := true
include $(PREBUILT_SHARED_LIBRARY)
```
其中,`LOCAL_STRIP_MODULE := true`表示去除调试信息,其他语句用于指定库文件的名称和路径等信息。
需要注意的是,strip语句只能用于.so库等二进制文件,不能用于可执行文件。如果需要去除可执行文件的调试信息,可以使用类似以下命令:
```
$ arm-linux-androideabi-strip -s test
```
其中,`-s`表示去除调试信息,`test`为可执行文件名。
Android.mk文件中strip语句的用法,举例该语句的用法
在 Android.mk 文件中,strip 语句可以用于去除目标文件或库文件中的符号表和调试信息,以减少文件大小。strip 语句的用法如下:
```
LOCAL_STRIP_MODULE := true
```
这里以去除.so 库文件中的符号表和调试信息为例,假设有一个名为 libtest.so 的库文件,其对应的 Android.mk 文件中可以添加以下语句:
```
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := libtest.so
LOCAL_STRIP_MODULE := true
include $(PREBUILT_SHARED_LIBRARY)
```
其中,`LOCAL_STRIP_MODULE := true` 表示去除符号表和调试信息,其他语句用于指定库文件的名称和路径等信息。
需要注意的是,strip 语句只能用于.so 库文件等二进制文件,不能用于可执行文件。如果需要去除可执行文件的调试信息,可以使用类似以下命令:
```
$ arm-linux-androideabi-strip -s test
```
其中,`-s` 表示去除调试信息,`test` 为可执行文件名。