“ar -r”允许创建空库

问题描述 投票:0回答:1

当与 -r 参数一起使用时,如果命令行中未指定输入文件,Binutils 的“ar”工具不会失败。

如果生成的文件名格式错误或由脚本或 makefile 计算错误,则可能会导致在常见用例中创建空输出文件,例如将输入对象文件和静态库的列表写入生成的文件。

ar -r output.a `cat myInputFile`
cat: myInputFile: No such file or directory
ar: creating output.a

因此,如果 cat 失败,其输出将变为空并生成空的 output.a。 我觉得很奇怪 ar 在这种情况下没有失败。我很好奇允许 ar 制作零大小静态库的原因是什么?

ar -V
GNU ar (GNU Binutils for Ubuntu) 2.24
linux compilation binutils unix-ar
1个回答
0
投票

对我有用:

$ ar unknown.a 2>/dev/null || echo 'ko'
ko

$ ar -V
GNU ar (GNU Binutils) 2.28.0.20170506
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

您的

ar
版本可能太旧。

© www.soinside.com 2019 - 2024. All rights reserved.