怎么strip掉?
时间: 2023-07-01 11:28:53 浏览: 56
strip命令可以用来去除二进制文件中的符号表和调试信息,从而减小文件体积,提高执行效率。下面是strip命令的使用方法:
```bash
strip [option] [file]
```
其中,`option`是可选的参数,用于指定strip命令的具体行为。常用的选项包括:
- `-s`:去除所有符号表。
- `-g`:去除所有调试信息。
- `-d`:去除所有动态符号表。
- `-N <section>`:去除指定名称的section。
- `-R <symbol>`:去除指定名称的符号。
`file`是要被strip处理的文件路径。如果不指定文件名,则strip命令默认会从标准输入中读取文件内容。
例如,要strip掉一个名为`libtest.so`的共享库文件中的符号表和调试信息,可以使用以下命令:
```bash
strip -s -g libtest.so
```
执行完该命令之后,`libtest.so`文件中的符号表和调试信息就会被去除,从而减小文件体积。
需要注意的是,strip命令会直接修改原始文件,因此在执行strip命令之前需要备份原始文件,以便出现问题时可以进行恢复。
相关问题
可以在CMake中执行strip命令吗?
可以在CMake中使用strip命令。在CMake中可以使用`add_custom_command`或`add_custom_target`命令来添加strip命令。下面是一个使用`add_custom_command`命令来添加strip命令的示例:
```cmake
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_STRIP} $<TARGET_FILE:${PROJECT_NAME}>
COMMENT "Stripping ${PROJECT_NAME}"
)
```
上述命令将在构建目标后执行`${CMAKE_STRIP}`命令来strip目标文件,其中`$<TARGET_FILE:${PROJECT_NAME}>`会被替换为当前项目的可执行文件路径。`${CMAKE_STRIP}`是一个CMake内置的变量,它指向系统中的strip命令。
如果要在CMake中添加多个strip命令,可以使用`add_custom_target`命令,例如:
```cmake
add_custom_target(strip
COMMAND ${CMAKE_STRIP} $<TARGET_FILE:${PROJECT_NAME}>
COMMAND ${CMAKE_STRIP} $<TARGET_FILE:mylib>
COMMENT "Stripping targets"
)
```
上述命令将创建一个名为`strip`的自定义构建目标,并在该目标中依次执行strip命令,从而strip掉`${PROJECT_NAME}`和`mylib`两个目标文件。
需要注意的是,在执行strip命令之前需要确保目标文件已经被完全构建,否则strip命令可能会失败。因此在示例中使用了`POST_BUILD`选项,表示在构建完成后执行strip命令。
ipa在win10如何检测该应用是否strip掉符号特征
在 Windows 10 上,您可以使用 Dependency Walker 工具来检测一个应用程序是否被 strip 掉了符号特征。以下是具体步骤:
1. 下载并安装 Dependency Walker 工具。
2. 打开 Dependency Walker 工具,并将要检测的应用程序拖放到工具窗口中。
3. 在菜单栏中选择 "Profile" -> "Start Profiling"。
4. 等待应用程序加载完成后,查看左侧窗格中的 "Modules" 标签页,并找到您要检测的模块。
5. 右键单击该模块,并选择 "View Full Path"。
6. 找到该模块的完整路径后,使用命令行工具(如 PowerShell)运行以下命令来检查该模块是否包含符号信息:
```
dumpbin /headers "path\to\module.dll" | findstr "pdb"
```
如果您看到输出中包含 "PDB file" 或 "Debug information" 等字样,则表明该模块包含符号信息。反之,则该模块可能已被 strip 掉符号特征。
请注意,以上方法仅适用于 Windows 平台下的应用程序,对于其他平台或操作系统可能需要使用不同的工具或方法。
相关推荐
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)