GetFileVersionInfo等效于Linux

时间:2016-06-29 08:35:08

标签: c++ linux linux-device-driver embedded-linux

我正在将Windows应用程序移植到Linux,该应用程序使用Windows APIs GetFileVersionInfoSize()GetFileVersionInfo()从exe获取版本。但是我找不到类似于Linux的东西。

我知道我可以使用readelf在Linux中读取应用程序或目标文件的内容,如下所示

[root@Panch-Linux]# readelf <xyz.so> -h
  ELF Header:
  Magic:   7f 45 4c 46 02 01 01 03 00 00 00 00 00 00 00 00 
  Class:                             ELF64
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - Linux
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           Advanced Micro Devices X86-64
  Version:                           0x1
  Entry point address:               0x4f7ec0
  Start of program headers:          64 (bytes into file)
  Start of section headers:          17823344 (bytes into file)
  Flags:                             0x0
  Size of this header:               64 (bytes)
  Size of program headers:           56 (bytes)
  Number of program headers:         8
  Size of section headers:           64 (bytes)
  Number of section headers:         38
  Section header string table index: 35

Shoud我使用readelf来获取版本信息,如果是,那么字符串“Version”就是实际代表文件版本的字符串。另请告诉我如何在Linux环境中使用readelf进行C ++编程。

如果这不是正确的方法,请建议我采取适当的方式。

0 个答案:

没有答案