如何在C中获取lib函数体?

时间:2014-12-22 22:41:50

标签: c

正如您在上面所看到的,我想知道库函数(如printf)是如何在C中生成的。我使用的是borlandC ++编译器。

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

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

那么,请让我知道他们怎么读?

1 个答案:

答案 0 :(得分:1)

C是编译的语言,因此C源代码被转换为二进制机器语言代码。

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

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

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