【VS开发】ATL辅助COM组件开发
有些时候在程序的编写过程中我们会跨语言写一些东西,比如在C#中使用到C++,这个时候COM的出现就很好的解决了这一问题,我们如何来创建并且编写COM组件呢?
一、首先:创建一个ATL项目,如下图所示:
二、创建完成,就会出现如下图所示目录结构体。
1)
2)
在项目上右击鼠标,如下图所示,出现如下图所示:
点击添加类,出现如下图所示对话框:
点击创建ALT简单对象,之后会出现如下图所示对话框:
然后下一步,出现如下所示对话框
点击完成按钮即可,然后就会添加两个文件到项目中,如下图所示:
到这一步,我们的准备工作就完成了,接下去就可以开始COM组件的编写了,我们把视图切换到类视图,
点击添加方法之后即出现如下对话框:
上图描述:添加一个名为Test的函数,返回值为Bool类型,然后继续点击下一步按钮,如下图:
然后点击完成即可,点击完成按钮之后就会在Demo.h和Demo2.cpp文件中添加一个输出函数的声明以及该函数的实现部分,如下图所示:
上图描述:只要在函数里面添加代码即可,然后点击编译就可以编译成一个com组
【VS开发】ATL辅助COM组件开发的更多相关文章
- amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules
amazeui学习笔记二(进阶开发5)--Web 组件开发规范Rules 一.总结 1.见名知意:见那些class名字知意,见函数名知意,见文件名知意 例如(HISTORY.md Web 组件更新历史 ...
- vue前端开发那些事——vue组件开发
vue的学习曲线不是很陡(相比其它框架,如anglarjs),官方文档比较全面,分为基础篇和高级篇.我们刚开始学习的时候,肯定像引用jquery那样,先把vue的js引进来,然后学习基础内容.如果仅仅 ...
- vue.js原生组件化开发(一)——组件开发基础
前言 vue作为一个轻量级前端框架,其核心就是组件化开发.我们一般常用的是用脚手架vue-cli来进行开发和管理,一个个组件即为一个个vue页面,这种叫单文件组件.我们在引用组件之时只需将组件页面引入 ...
- 基于GBT28181:SIP协议组件开发-----------第二篇SIP组件开发原理
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3937590.html,qq:1269122125. 上一节中讲的S ...
- Agile.Net 组件式开发平台 - 内核管理组件
敏捷开发体系 软件构件技术:所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装.软件的构件化和集成技术的目标是:软件系统可以由不同厂商提供的,用不同语言开发 ...
- 《Nodejs开发加密货币》之二十七:开发通用的HTML组件
人的懒惰常常是麻烦的开始.多数程序员都希望自己的工作一劳永逸,一次开发,到处使用,成了人人追逐的目标,我也不例外.最初写<Nodejs开发加密货币>系列文章,因为不喜欢设定好了去写,所以目 ...
- ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇
原文:ASP.NET自定义控件组件开发 第三章 为控件添加事件 后篇 第三章 为控件添加事件 后篇 前一篇文章只是简单的说了下事件,但是大家应该方法,在ASP.NET自定义控件中只是简单那么定义事件是 ...
- [转]详解C#组件开发的来龙去脉
C#组件开发首先要了解组件的功能,以及组件为什么会存在.在Visual Studio .NET环境下,将会有新形式的C#组件开发. 组件的功能 微软即将发布的 Visual Studio .NET 将 ...
- [转]页游开发中的 Python 组件与模式Presentation Transcript
转: 页游开发中的 Python 组件与模式Presentation Transcript 1. 页游开发中的 Python 组件与模式 赖勇浩( http://laiyonghao.com ) 20 ...
随机推荐
- Elasticsearch: Index template
Index template定义在创建新index时可以自动应用的settings和mappings. Elasticsearch根据与index名称匹配的index模式将模板应用于新索引.这个对于我 ...
- Bootstrap-轮播图-No.7
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- BZOJ 4260: Codechef REBXOR (trie树维护异或最大值)
题意 分析 将区间异或和转化为前缀异或和.那么[L,R][L,R][L,R]的异或和就等于presum[R] xor presum[L−1]presum[R]\ xor \ presum[L-1]pr ...
- Mac中iterm2显示彩色
Mac中iterm2显示彩色 2016年08月23日 18:09:37 Sun7_She 阅读数:1974 参考网址:https://segmentfault.com/q/101000000065 ...
- SQL Server Dead Lock Log
1 . 模拟Dead Lock Session1: begintran insertintoT1(name)values('test1') UpdateT2setname='test1' commit ...
- windbg双机调试配置[转]
原文 windbg已不提供单独下载,wdk驱动开发工具包里附带有这个调试器.官网提供下载: http://msdn.microsoft.com/en-us/windows/hardware/gg487 ...
- codeforces163D
Large Refrigerator CodeForces - 163D 给定一个长方体的体积V,求出这个长方体的最小表面积. 输入 第一行有一个整数t (1 ≤ t ≤ 500) — 测试数据的组数 ...
- php 一段 shmop
$size = 1024*1024; $shm_key = ftok(__FILE__, 't'); $shm_id = shmop_open($shm_key, "c", 064 ...
- 使用 python 编写一个授权登录验证的模块
使用 python 编写一个授权登录验证的模块 我们编写的思路: 1.登录的逻辑:如果用户名和密码正确,就返回 token . 2.生成 token 的逻辑,根据用户名,随机数,当前时间 + 2 小时 ...
- 文本处理工具sed
处理文本的工具sed 行编辑器 ,默认自带循环. sed是一种流编辑器,它一次处理一行内容. 功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等 sed工具 用法: sed ...