我们有一个运行在嵌入式oOS上的程序。我们通常在输出二进制文件中嵌入一个版本字符串,用于识别生成二进制文件时包含的所有版本。通常,我们使用的编译器可以通过创建一个“undefined”符号来确保版本字符串在二进制文件中,然后由我们的版本字符串解析。在gcc中定义链接符号
但是,我们现在已经转移到基于Linux的系统和gcc。
gcc正在从最终的exe中删除版本字符串。最终的exe是通过链接在一堆库中创建的。每个库都嵌入了一个版本字符串。
gcc正在删除版本字符串,因为没有任何内容引用该字符串,并且我们已打开-Os优化。
有没有办法确保gcc不去掉一串字符串(我们需要嵌入大约5-10个版本字符串)?
谢谢。
嗨,不幸的是,它似乎没有按照通缉。如前所述,现在保留所有其他不需要的符号。因为这不是一个主要的问题,因为它将19k添加到最终的二进制文件中。 – user626201 2011-03-17 06:51:09