我需要获取用于构建已安装程序的C编译器的信息。我猜rt或lib可以报告,但没有具体的。并不是程序将安装在/usr/...
或类似的地方,因此无法访问构建目录以获取相关信息。
答案 0 :(得分:2)
表现良好的程序应该理解--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
中(细节可能有误,但你明白了)