VC6创建工程的各种类型
各个工程类型的含义是什么ATL COM AppWizardATL COM 应用向导用于开发 COM 组件、ActiveX 控件、进程内 / 进程外 COM 服务、Windows 系统服务多用于组件化开发、Office 插件、跨程序调用模块普通 C/C 学习完全用不到。用ATL技术制作COM程序例如:WORD里面用的公式编辑器ATL:Active Template Library活动模板库。ATL是COM的开发工具。COM: Component Object Model组件对象模型是微软当年定的一套「软件零件标准」。1993年Microsoft首次公布了COM技术.可以把它理解成Windows 系统里通用的 “插件 / 零件” 规范。规定了怎么写一段代码模块能让不同语言、不同程序之间互相调用不用关心对方是用 C、C、VB 写的。Word、Excel、PPT 本质都是一堆 COM 组件拼出来的。什么是ATL 与COM的关系及MFC与COM的关系Cluster Resource Type Wizard集群资源类型向导面向 Windows 服务器集群开发用来编写集群可管理的自定义资源组件属于服务器运维底层开发个人编程基本不用。Cluster: 集群。Custom AppWizard自定义应用程序向导。允许开发者创建自己的项目模板和代码生成向导集成到 Visual Studio 等 IDE 中。当你需要基于一套固定的项目结构、代码框架或公司规范快速生成新项目时可以创建自定义向导从而避免重复的初始化工作。高级开发者用来自己定制一套新建项目的模板比如固定头文件、预编译配置新手无需接触。Database Project数据库项目专门用来编写 SQL 脚本、管理数据库存储过程、连接操作数据库不是用来写 C/C 业务逻辑代码。DevStudio Add-in WizardVC6 IDE 本身的插件开发向导用来给 VC 软件做功能扩展插件和普通程序开发无关。Extended Stored Proc WizardSQL Server 扩展存储过程编写能在 SQL 数据库里直接调用的 C 语言存储过程数据库底层开发专用。ISAPI Extension Wizard编写 IIS 网站服务器的网页扩展程序早期 Web 后台老旧 Web 开发技术现在早已淘汰。Makefile不使用 VC 自带编译规则手动写 Makefile 编译脚本管理项目适合跨平台、自定义编译流程的大型项目入门不推荐。MFC ActiveX ControlWizard基于 MFC 封装ActiveX 可视化控件网页嵌入控件、桌面程序拖拽控件老式 UI 控件开发。ActiveX 是微软基于 COM 组件 做出来的一套可嵌入、可复用的插件化控件技术。能在网页、软件窗口里直接用的小控件插件根基就是前面说的 COM 规范。MFC AppWizard (dll)基于 MFC 类库生成动态链接库 DLL带 MFC 界面框架的库文件。MFC AppWizard (exe)✅ 带窗口 GUI 图形界面程序Windows 桌面软件微软 MFC 封装好窗口、按钮、菜单、对话框等全套界面框架适合快速做 Windows 带窗口桌面软件记事本、小游戏窗口程序C 桌面可视化项目常用。Utility Project工具型项目本身不生成 exe/dll用来批量执行编译脚本、文件拷贝、资源打包等辅助构建任务作为附属工程使用。Win32 Application原生Win32窗口应用程序属于GUI(Graphics User Interface 图形用户接口)程序就是常见的窗口应用程序我们可以通过鼠标点击来完成控制。以Win Main()为入口能够使用win32 API函数完成窗口设计等 。Win32 API: 现在叫做windows API也叫Win32 SDK。网址https://learn.microsoft.com/zh-cn/windows/win32/apiindex/windows-api-list不使用MFC框架直接调用 Windows 底层 API 手写窗口、消息循环更底层的原生 Windows 界面开发学习 Windows 编程原理用比 MFC 更繁琐所以这种项目对使用者的能力要求更高但是功能更强适合高档用户用的。Win32 Console ApplicationWin32 Console Application是指win32控制台应用程序属于CUI(Character User Interface字符用户接口)程序往往是像MS-DOS窗口样子出现我们得用键盘输入各种命令来使用它。它与纯DOS程序区别是它是32位的。控制台应用程序以main()函数为入口。⭐ 【初学 C/C 首选】控制台黑框程序生成命令行黑色窗口程序支持printf/scanf/cin/cout标准输入输出没有复杂界面语法练习、算法刷题、课程作业、入门 HelloWorld 全部用这个。Win32 Dynamic-Link Library生成 .dll 动态链接库可被其他 exe 程序调用封装好的函数用于代码模块化拆分。Win32 Static Library生成 .lib 静态链接库编译时直接把库代码打包进主程序 exe也是代码封装复用方案。感谢Win32 Console Application、Win32 Application、MFC三者之间的联系和区别关于vc6.0各种新建工程的含义C语言中文网