繁体   English   中英

我如何 go 关于这个程序?

[英]How do I go about this program?

我有一个包含很多.cpp、.h 和.dfm 文件的程序。 我最近刚刚开始学习 Visual C++ 和 MFC。 该程序没有任何.ncb 或solution object 文件,因此我无法理解如何开始理解该程序。 有很多很多的文件,理解流程非常混乱。 还有两个文件夹。 一个带有 .ac 文件,另一个带有文本文件。 谁能建议我一个更简单的开始方法? 最终,在查看了该程序的代码之后,我必须创建自己的程序,该程序与此类似,但具有附加功能。

请帮忙。

干杯。

虽然我不使用 C++ Builder,但.dfm建议它适用于其他 IDE 而不是 Visual C++。 我的提示是:

  • 可能它是多个 IDE 的相同源代码。 很可能所有源文件都不适用于所有 IDE。 它们是针对不同的 IDE 有选择地添加的。 可能会为所有项目添加一些核心文件(即在.SLN.DSW.VCPROJ.DFM
  • 如果真的是 MFC 项目,搜索: CWnd , CWinApp , InitInstance , CString , OnInitDialog , BEGIN_MESSAGE_MAP , ON_WM_ , afx_msg等。
  • 在 MFC 项目中,没有mainWinMain - 程序从InitInstance开始。

VC++大项目的知识比较难学,看懂MFC代码对初学者来说比较麻烦!

一些技巧:

使用 Find in Files 按钮查找字符main 如果你找到一个 main()、一个 _tmain() 或一个 WinMain,这将告诉你很多关于你所拥有的东西。 如果有一个 exe,运行它——它也会告诉你要寻找什么。

Visual Studio 2010 具有从源文件创建解决方案的选项,因此这也可能对您有所帮助。

如果您认为它是 MFC 应用程序,请查找查看 class、文档 class 等。

在 Visual Studio 2010 中,导航到 (Ctrl,) 非常有用 - 在您的搜索词中使用大小写混合的单词会进行非常巧妙的搜索。 因此,如果您运行它并看到一个标有 Open Policy 的按钮,然后您使用 Navigate To 搜索 OpenPolicy,它将找到 PolicyOpen 和 OpenNewPolicy 以及更多 Find in Files 找不到的内容。

祝你好运!

人们正在回答项目使用的 IDE,我认为弄清楚这一点并不能帮助您了解项目中发生了什么。

为了阅读项目,我可能会遵循 go 作为调试器通过 WinMain 中的调用,您需要逐步 go 以查看实际发生的情况。 不是广告,但我发现Source Insight有助于阅读大量源文件。 或者,如果您熟悉 cygwin,基本的“find & grep”也是方便但功能强大的工具,可通过源文件帮助您 go。

学习MFC,我自己的学习经验是自己创建简单的项目,自己写代码。 不要过分依赖 IDE,虽然它有一些花哨的自动化人员,例如在 UI 设计视图中双击控件,它会自动为您生成消息处理程序,但恕我直言,它并不能帮助您了解 MFC 是如何注册的/处理此消息。 编写您自己的消息处理程序并手动注册它,会让您更好地了解它的工作原理和方式。

希望这可以帮助。

在 Visual Studio 中创建新项目,然后将该文件添加到项目中。然后按 CTRL+F5 和 Bulid 项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM