本文目录
mfc是什么?
mfc是微软公司实现的一个c++类库,主要封装了大部分的windows API函数。
vc++是微软公司开发的c/c++的集成开发环境,所谓集成开发环境,就是说利用它可以编辑,编译,调试,而不是使用多种工具轮换操作,灵活性较大。
vc也指它的内部编译器,集成开发环境必须有一个编译器内核,例如DevC++其中一个编译器内核就是gcc。
mfc除了是一个类库以外,还是一个框架,在vc++里新建一个mfc的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dll。
xx是版本,它封装了mfc内核,所以你在你的代码看不到原本的SDK编程中的消息循环等等东西。
因为mfc框架帮你封装好了,这样你就可以专心的考虑你程序的逻辑,而不是这些每次编程都要重复的东西。
但是由于是通用框架,没有最好的针对性,当然也就丧失了一些灵活性和效率。但是mfc的封装很浅,所以效率上损失不大
vc编程后不能运行怎么回事?
是这样,你在新建VC++工程的时候,其中有一项是选择将MFC库作为共享的DLL还是静态的DLL。
因为MFC程序在运行时需要一些DLL文件的支持,你从集成开发环境下编译运行时,有默认的路径来调用这些所需的DLL,因此运行不会有问题。
而当你单独运行文件夹下的可执行程序时,如果一开始选择的是作为共享的DLL,则就会因为可执行程序的当前路径下没有所需的DLL文件而无法运行。解决方法:一种是打包程序,生成程序的安装包,就像商业软件一样。
另一种就是采用作为静态的DLL方式,即将程序要用到的库集成到生成的exe程序中。
这样程序会稍稍大一点点,相当于一个绿色软件。
你可以点击工程菜单下设置菜单项,常规选项卡,选择作为静态的DLL,重建工程就可以了。
如何从DLL中导出C++类及接口/网络技术编程?
要导出C++对象在MFC中需要使用 MFC扩展DLL。 MFC扩展DLL 支持C++接口,可以导出整个类,客户可以构造这个类的对象或从该类派生。
一般用来提供派生于MFC的可重用类,以扩展已有的 MFC类库的功能. 使用MFC的动态链接版本.因此要求客户动态连接到MFC库。
该类的导出函数只能被使用MFC动态链接的应用程序调用. 可用于在应用程序和它所加载的MFC扩展DLL之间传递MFC和MFC派生对象的指针. 导出类 在向导创建扩展DLL框架后,只要简单地把C++类加到项目中即可。
这是必须把 AFX_EXT_CLASS 放置到类声明中。 class AFX_EXT_CLASS CStudeng : public CObject
有C的源文件,怎么能生成dll文件?
1.新建一个MFC DLL或Win32 DLL工程
2.创建好后里面会有stdafx.h和stdafx.cpp以及{$工程名}.cpp文件
3.删除{$工程名}.cpp文件 将你的cpp文件添入工程
4.修改你的cpp文件 添加一句#include "stdafx.h"在代码第一行
5.Build