Unix 在没有';字符串';或';什么';

Unix 在没有';字符串';或';什么';,unix,shared-libraries,Unix,Shared Libraries,我有一个运行busybox 0.61的嵌入式系统上的expat XML处理库的副本。我需要找出库的版本,但我没有图像上的“字符串”或“什么”应用程序,也不能重新编译图像。这些我被迫使用的“忙碌箱”图像严重受损 有没有什么方法可以让我知道在没有“字符串”或“什么”实用程序的情况下安装了什么版本的expat库?库是共享的(libexpat.so.1)您必须编写自己的等效“字符串”。版本不是elf格式的一部分。有些库恰好包含具有版本的字符串,而其他库则不包含 特别是对于外籍人士,您可以使用nm查看哪些

我有一个运行busybox 0.61的嵌入式系统上的expat XML处理库的副本。我需要找出库的版本,但我没有图像上的“字符串”或“什么”应用程序,也不能重新编译图像。这些我被迫使用的“忙碌箱”图像严重受损


有没有什么方法可以让我知道在没有“字符串”或“什么”实用程序的情况下安装了什么版本的expat库?库是共享的(libexpat.so.1)

您必须编写自己的等效“字符串”。版本不是elf格式的一部分。有些库恰好包含具有版本的字符串,而其他库则不包含


特别是对于外籍人士,您可以使用nm查看哪些API存在和不存在。从编程的角度来说,这就是dlopen和dlsym。

您必须编写自己的等效“字符串”。版本不是elf格式的一部分。有些库恰好包含具有版本的字符串,而其他库则不包含


特别是对于外籍人士,您可以使用nm查看哪些API存在和不存在。以编程方式,这需要dlopen和dlsym。

对库运行
ident
,找出它的版本。它类似于
strings
,但它会选择版本源代码管理库标识符

希望这有帮助, 顺致敬意,
Tom。

对库运行
ident
,以了解它的版本。它类似于
strings
,但它会选择版本源代码管理库标识符

希望这有帮助, 顺致敬意,
Tom.

如果是libexpat 1.95.0或更高版本,库将有一个
XML\u ExpatVersion()
函数,该函数返回包含库版本的
char*

如果是libexpat 1.95.0或更高版本,库将有一个
XML\u ExpatVersion()
函数,该函数返回一个包含库版本的
字符*

如果这只是一个一次性问题,您不能将库复制到另一台安装了
字符串的机器上并在那里运行吗?

如果这只是一个一次性问题,难道你不能将库复制到另一台安装了
字符串的机器上并在那里运行吗?

这是一个很好的建议,但事实证明我也没有“ident”。我仍然在发现这些盒子是多么的有限。这是一个很好的建议,但事实证明我也没有“ident”。我仍在发现这些盒子的真正局限性。事实证明,这些东西上甚至没有“nm”。不过,谢谢你的建议。事实证明,这些东西上甚至没有“nm”。谢谢你的建议。听起来不错。我曾经在嵌入式系统中工作过,最简单的方法通常是在真实的工作站上收发tftp(基于UDP的哑协议)文件;尤其是当你只能从
ed
joe
中选择时:听起来不错。我曾经在嵌入式系统中工作过,最简单的方法通常是在真实的工作站上收发tftp(基于UDP的哑协议)文件;尤其是当你只能从
ed
joe
中选择时: