我被C++、VC++、MFC弄糊涂了,请各位进来为我指明方向!!

猞猁狲 2004-12-19 04:30:36
我是初学C这一个范围的,我现在也只能这么说,其实早就想学C了,因为我知道它很厉害!我是学VB的,请学C的朋友不要笑话我,我知道这被很多同行瞧不起,但我对VB一直是很认可的!我学C的步骤大致是一下这样的!我先把只了解过的C语言又看了看,主要看了指针这一块,其实在学校里,我通过PASCAL也了解过指针,然后我就看了那个老外Charles Petzold写的《Windows程序设计》一书,只是前2章。起初看的时候我很兴奋,因为我看了这本书后,我感觉我被VB6长时间的闷在鼓里,原来Windows是这样工作的,我真的好喜欢这本书,但是这期间我虽然能看懂程序的意图但是程序细节的语法令我感到很难受,所以我就又看了另外一本书,清华大学的C++,然后我对真正的类、对象、继承、封装、多态、构造函数、析构函数、内联函数、公共成员、友元还有其他的一些有了一定的掌握,就这样我开始继续看老外的那本书,直到看到第四章,我终于按耐不住我心中想用C做点什么的冲动,因为书中一直都在告诉我怎么样用VC6调试这些程序,但是我手上还有一本书,也是清华大学的Visual C++,我只好继续看,发现前半部分的内容和老外的那本书都差不多,只是没有老外讲的有意思,不连贯,看起来很枯燥乏味。直到看到第三篇:用MFC进行可视华编程,于是我按照书上的步骤做了两个程序,这是在我的思想里我不由的把MFC和VB6联系了一下,好像有些相似,只是MFC的灵活性太大了!

好了我罗嗦了这么多,我要告诉大家我的迷惑了,那就是:到现在为止我才发现老外那本书里的语法我不知道是什么语法,他在举例时的程序大致是这样的:

#include<windows.h>
int WINAPI WinMain(四个参数)
{
MessageBox();
return 0;
}
以上是他书里的第一个程序,以后的一些稍微复杂的一些程序只是加入了窗口类、注册窗口类、消息循环、窗口过程这些代码,我都能看懂,但是请告诉我这是什么语言写的???我为什么这样问呢?因为在我看MFC的时候根本和这些代码无关,MFC的语法和C++是一样的!!!总而言之,我现在都不知道该问什么了!
-----------------------
我现在还唯一知道的一个概念就是用VC++6能做出任何东西来!!!请大家指点一下,我下面该从那个方向学,学的时候该注意什么?我一定要继续学下去,因为我感觉到一股前所未有的可怕力量,我想得到它.........
...全文
205 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
猞猁狲 2004-12-20
  • 打赏
  • 举报
回复
太感谢大家了!通过几位的讲解我对这些东西已经有一些感性认识了!谢谢,我将冲入 VC++的阵营!!哈哈哈
wasltone 2004-12-19
  • 打赏
  • 举报
回复
各位:深入浅出MFC可以到JJHOU的主页上下载阿
Freemanz 2004-12-19
  • 打赏
  • 举报
回复
说到mfc就不能不谈谈windows api,mfc说白了就是把api函数封装成一个一个的类。也就是说无论你用什么语言和工具(除了汇编)在windows环境下编程最终都是在调用windows api,所以对api函数的了解对使用mfc和程序的灵活性是很有帮助的。
因为vc几乎可以无限制的直接调用api函数,所以用vc可以写出所有能在windows下实现的所有功能。
有些人是先学api再学mfc,这样学习周期会长一些,但会学得很扎实。
有些人是先学mfc再学api,这样能够在相对比较短的时间里写比较小的项目了,但由于有些东西mfc并没有包括所以没有api的知识程序的灵活性会有所降低。

//把握好你的指针,虽然它是最不可信赖的,但确实你唯一可信赖的!
ShiGang 2004-12-19
  • 打赏
  • 举报
回复
C++ 是一門編程語言.
VC++是一基于C++的開發工具和編譯器.
MFC是用來由microsoft公司開發Windows程式的一套類庫.
mmzr 2004-12-19
  • 打赏
  • 举报
回复
c++是语言、VC是开发平台(也就是开发工具)用的是C++语言、MFC是微软为我们封装好的类库(也就是C++的类库)我们可以尽情的使用它。
supergerm 2004-12-19
  • 打赏
  • 举报
回复
楼上老兄,你有电子版的MFC6大关键技术吗? 我在学MFC中。。。。可以传给我看看吗
wasltone 2004-12-19
  • 打赏
  • 举报
回复
另外,纠正你一个错误:MFC是类库,写好了好用的函数,供我们使用。
开发工具是VC。
如果你听了我和楼上说的还不明白,
不要紧,
慢慢看些理论的书就明白了。
我也是这样过来的。
建议看 候捷的《深入浅出MFC》不要看后面,你现在水平还不够。
看前3章,1是WIN32的基础,2是C++,3是MFC6大关键技术,比较难。

这样你会对MFC和WIN32有个区分
supergerm 2004-12-19
  • 打赏
  • 举报
回复
大概明白你的意思了~

答: 这段程序是用C/C++写的,你放心,VC里面你就尽情地把他看成是C/C++的代码吧!

而你举的那个例子呢~ 你看不出来吗???

MessageBox()是个函数,可以说是个API函数,这个你在VB里面应该会的,从意思上也能看出来,跟VB里面的 MsgBox()是同出一辙的东西啊!

你建的是SDK的工程,所以WinMain是主函数,跟C是一样的,程序要从主函数开始,跟VB也是一样的,如果没有主窗体,那么就要从SubMain()开始,同样道理。

你既然会VB,那学这个应该不是特别难了,当然是对于那些没学过可视化编程的人来说。

学VC呢,既然你的C++都看过了,那就从SDK开始吧! 就从WinMain开始,然后把SDK的API弄个差不多了,再去研究MFC,你有VB的功底,学API应该不成问题啊,VB里面也用的是WIN32 的 API 两个是一样的,只是VC里面不用去声明。

MFC的阶段就要痛苦点了~ 慢慢来吧~ 毕竟VC比VB灵活得多,VB太限制人的思维了~ 加油干!
wasltone 2004-12-19
  • 打赏
  • 举报
回复
另,WINMAIN函数是WIN32程序的主要入口。

学MFC就是为了方便而以,它会帮你把一切函数写好。。你用就是了。WINMAIN不用管。
但是如果你用SDK写,那就要自己写了。

再次申明,MFC是方便,但是你要了解SDK,和这些WINMAIN类函数,和WIN32程序是怎么运行的
wasltone 2004-12-19
  • 打赏
  • 举报
回复
int WINAPI WinMain(四个参数)
{
MessageBox();
return 0;
}
这个是你用SDK开发使用的。

学MFC的话,有C++的基础,然后运用MFC给你的写好的函数,会永久行。
这个WINMAIN()函数,如果你用MFC写,当然就不用写了。
不过这些基础Windows程序设计要知道,否则不能学MFC。
另,建议不要学VB了。。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧