我需要获取有关用于构建已安装程序的 C 编译器的信息。我猜 rt 或 lib 可以报告,但没有具体的。并不是说该程序会安装在 /usr/...
或类似的地方,因此无法访问构建目录以获取相关信息。
最佳答案
行为良好的程序应该理解 --version
参数。
打包的程序(即那些在 Debian 上使用 dpkg -i
或 apt-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/