gpt4 book ai didi

c - 获取已安装程序的编译信息

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:56 26 4
gpt4 key购买 nike

我需要获取有关用于构建已安装程序的 C 编译器的信息。我猜 rt 或 lib 可以报告,但没有具体的。并不是说该程序会安装在 /usr/... 或类似的地方,因此无法访问构建目录以获取相关信息。

最佳答案

行为良好的程序应该理解 --version 参数。

打包的程序(即那些在 Debian 上使用 dpkg -iapt-get install 安装的 .deb 包等。 .) 也知道他们的包版本和来源。

您可以尝试在二进制可执行文件上使用 strings。但是,此类元数据(关于用于构建程序的 C 编译器的版本)可能已被剥离(例如通过 strip 命令)。

如果您正在开发程序(即它的 C 源代码)并且可以更改它,您可以考虑添加类似的东西

timestamp.c: Makefile
echo 'const char timestamp[]=' > $@
date +'"built with $(shell $(CC) --version) on %c";' >> $@

yourprogram: $(OBJECTS) timestamp.o
$(LINK.c) $(LDFLAGS) $< -o $@ $(LDLIBES)
$(RM) timestamp.c

在您的 Makefile 中(细节可能有误,但您明白了)

关于c - 获取已安装程序的编译信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22411837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com