在VC++中查找函数体时出错
Error in finding the body of a function in VC++
我是用C++编程的新手。所以我试着检查别人的代码来学习。我开始检查一个新的原型,它有一个名为myFcn
的功能。它的注释行描述它需要编译mk.h
、mk.lib
和mk.dll
文件。项目已成功生成。但是,当我越过myFcn
的调用线并按下F12(转到定义)时,myFcn
的声明原型出现了,再次按下F12并没有给我带来myFcn
的主体。我猜函数定义在mk.lib
或mk.dll
文件中。如何找到函数的正文?
第1版:如果我有几个dll
和lib
文件,我能认出编译myFcn
的文件吗?
您尝试使用的函数似乎是在您使用的库中编译的。
这个系统的目的是让人们使用你的函数,而不需要他们编辑它们或理解它们的源代码。这意味着库的作者已经编写了函数,并将其编译为库(.dll、.lib和.h)。
通过在项目中包含.h文件,并在编译时链接.lib和在运行时链接.dll,您可以使用此函数,而无需查看头文件。
如果你想了解这个函数的代码,请访问他们的网站,看看他们是否提供了完整的源代码。
基于问题编辑:据我所知,没有直接的方法可以看到哪个头文件链接到哪个库。可以查看某个库中的函数。在Linux上,这是.a文件(gcc库)的"nm"命令。对于Windows,这里介绍了一些方法:如何查看DLL函数?。
如果你看不到它的源代码,函数体很可能会被编译。
相关文章:
- 用C++在单独的头文件中完成函数体
- 我可以在 C++ 中的函数体之外进行操作吗?
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- binary_search() 函数在我的函数体中不起作用
- 如何显示函数开始、结束行和函数体?
- 主函数体未检测到对重载可变变量模板化函数C++的调用
- 错误:函数声明符之后的预期函数体
- C++编译器如何检测非常量函数体
- 使用委托调用构造函数和在另一个构造函数体中调用的区别
- Flex和Bison忽略了函数体
- 我看到将我的类成员函数指定为内联实际上会增加执行时间,即使函数体非常小
- 为什么将函数体放置在单独的源代码文件而不是标题中的C/C 中
- 类(模板)成员函数体内部的ADL查找
- 如果未设置编译符号,如何排除方法?如何传递可变数量的参数并在函数体中格式化它们
- constexpr函数体c++14中可以有非文字类型的定义变量吗
- 内联失败:可以在链接时覆盖函数体
- C++函数体中的Const变量
- 在类定义之外的模板类成员函数体中,何时需要模板参数
- c++--直接--访问非成员函数体中的类成员
- 在VC++中查找函数体时出错