【问题标题】:How to detect .o / .a / compiled object /executable c/c++ without extension? (to then issue 'what' on file to see what it was compiled with)如何检测 .o / .a / 编译对象 /executable c/c++ 没有扩展名? (然后发出文件中的“什么”以查看它是用什么编译的)
【发布时间】:2011-06-02 08:01:25
【问题描述】:

如何检测文件是编译对象 (.o .a (library)) 还是可执行文件,没有文件扩展名?

我想这样做,这样我就可以发出标准的 what 命令来查看用于构建二进制文件的 .c / .h 文件。

大概在文件的开头会有某种标题或某种其他模式要查找(?)

已经浏览过这里和其他地方,但答案往往是关于 MIME 类型和 Web 开发/此类文件的处理:

【问题讨论】:

  • (如果您使用的是 Unix/Linux,file 命令有什么帮助吗?)
  • +1 是的!例如:ELF 32 位 LSB 可执行文件,英特尔 80386,版本 1 (SYSV),适用于 GNU/Linux 2.2.5,动态链接(使用共享库),适用于 GNU/Linux 2.2.5,未剥离——我可以使用正则表达式解析这个文本数据,所以这对我有用。那么你为什么不提交这个作为你的答案而不是评论呢?不要害羞!如果您将此作为答案提交,我可能会 +1 并接受它,我会给其他人一个机会,但您的建议对我来说看起来不错。
  • 因为这有点猜测:P 我会提交然后:)

标签: executable detection file-type .obj .a


【解决方案1】:

如果您使用的是 Unix/Linux,file 命令可用于确定文件的文件类型,而无需依赖文件扩展名。

它会查看诸如“这是一个特殊设备而不是普通文件”之类的内容,然后寻找标识特定文件格式的“幻数”等。

【讨论】:

  • +1 那应该可以满足我的需要 - 谢谢:例如ELF 32 位 LSB 可执行文件,英特尔 80386,版本 1 (SYSV),适用于 GNU/Linux 2.2.5,动态链接(使用共享库),适用于 GNU/Linux 2.2.5,未剥离——我可以使用正则表达式解析这个文本数据,所以这应该对我有用。
猜你喜欢
  • 2011-01-06
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2014-06-17
  • 2018-06-17
  • 2011-03-13
  • 1970-01-01
相关资源
最近更新 更多