【问题标题】:how can get lib functions bodies in C?如何在 C 中获取 lib 函数体?
【发布时间】:2014-12-22 22:41:50
【问题描述】:

正如你在上面看到的,我想知道库函数(如printf)是如何用C语言制作的。我使用的是borlandC++编译器。

它们在lib文件(***.lib)中定义,头文件只有原型。

无法在文本编辑器中读取 Lib 文件。

那么,请告诉我他们是如何阅读的?

【问题讨论】:

标签: c


【解决方案1】:

C 是一种编译语言,因此 C 源代码被翻译成二进制机器语言代码。

因此,您无法查看您拥有的任何给定库的实际源代码。

如果你想知道它是如何工作的,你可以看看它是否是一个开源库,找到生成你正在使用的版本的特定版本的源代码,然后阅读它。

如果它不是开源的,您可以尝试反编译 - 使用一个工具来尝试猜测原始源代码可能是什么样的,以生成您的库所具有的机器代码。您可以猜到,这不是一个准确的过程-编译不是同构过程-而且,您可能没有猜到,它可能是非法的-但我不确定它取决于什么条件,如果任何。

【讨论】:

  • 感谢您的回答。我不知道库是否已经编译。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
相关资源
最近更新 更多