在VC++中查找函数体时出错

Error in finding the body of a function in VC++

本文关键字:出错 函数体 查找 VC++      更新时间:2023-10-16

我是用C++编程的新手。所以我试着检查别人的代码来学习。我开始检查一个新的原型,它有一个名为myFcn的功能。它的注释行描述它需要编译mk.hmk.libmk.dll文件。项目已成功生成。但是,当我越过myFcn的调用线并按下F12(转到定义)时,myFcn的声明原型出现了,再次按下F12并没有给我带来myFcn的主体。我猜函数定义在mk.libmk.dll文件中。如何找到函数的正文?

第1版:如果我有几个dlllib文件,我能认出编译myFcn的文件吗?

您尝试使用的函数似乎是在您使用的库中编译的。

这个系统的目的是让人们使用你的函数,而不需要他们编辑它们或理解它们的源代码。这意味着库的作者已经编写了函数,并将其编译为库(.dll、.lib和.h)。

通过在项目中包含.h文件,并在编译时链接.lib和在运行时链接.dll,您可以使用此函数,而无需查看头文件。

如果你想了解这个函数的代码,请访问他们的网站,看看他们是否提供了完整的源代码。

基于问题编辑:据我所知,没有直接的方法可以看到哪个头文件链接到哪个库。可以查看某个库中的函数。在Linux上,这是.a文件(gcc库)的"nm"命令。对于Windows,这里介绍了一些方法:如何查看DLL函数?。

如果你看不到它的源代码,函数体很可能会被编译。