C++/CLI学习入门
托管是.NET的一个专门概念,它倡导一种新的编程理念,因此我们完全可以把“托管”视为“.NET”。C++托管扩展(Managed Extension for C++,即MC++)是微软为了让Visual C++可以支持托管的引用程序的开发而对传统C++语言进行的扩展,是新一代Visual C++开发工具的语言核心。对Microsoft Visual C++语言进行扩展可以生成.NET代码,这些扩展称为C++.NET托管扩展。C++是惟一一种可以在同一个源文件中混合.NET代码和非托管代码的语言,是真正的.NET系统语言。在托管C++中,托管类和非托管类是可以相互使用各自的特征,但托管类能够封装.NET框架中的组件,且最大限度地使用.NET框架中的特性,而传统的C++类是使用MFC和ATL来设计的,用来编制基于Windows环境的应用程序。目前只有托管C++及其后继者C++/CLI可以做到无缝整合托管和非托管代码,而在托管代码中调用COM的速度又相当慢,所以经常被用于其他语言和非托管代码之间的桥梁。
C++/CLI(CLI:Common Language Infrastructure)是一门用来代替C++托管扩展新的语言规范。“C++/CLI”代表托管和本地编程的结合,是静态C++对象模型到CLI的动态组件对象编程模型的捆绑。简而言之就是如何用C++在.NET中编程,而不是C#或Visual Basic。像C#和CLI本身一样,C++/CLI正在ECMA(欧洲计算机制造商协会)主持下进行标准化,以最终符合ISO标准。公共语言运行时 (CLR)是CLI的微软版本,它非常适用于微软的Windows操作系统,相似地,Visual C++2005是C++/CLI的实现。
在Visual Studio 2010中创建CLR Console Application项目,输入名称CLR_Console,将生成如下文件:
// CLR_Console.cpp : main project file. #include "stdafx.h"using namespace System;int main(array<System::String ^> ^args) {Console::WriteLine(L"Hello World");return 0; }
我们修改源程序为:
// CLR-Console.cpp : main project file. #include "stdafx.h"using namespace System;int main(array<System::String ^> ^args) {int fruit=6, packageCount=25, packageWeight=7.5;Console::WriteLine(L"Hello World");Console::WriteLine(L"There are {0} fruit.", fruit); Console::WriteLine(L"There are {1} packages weighting {0:F2} pounds ",packageWeight,packageCount); Console::WriteLine();String ^str = Console::ReadLine();Console::WriteLine("您输入的字符串为:"+str);Console::Read();return 0; }
程序运行结果如下所示:
学习链接:
NativeC++通过CLI调用C#的Form:http://www.cppblog.com/mzty/archive/2007/12/25/39555.html
转载于:https://www.cnblogs.com/gaohongchen01/p/3969046.html
C++/CLI学习入门相关推荐
- C++/CLI学习入门数组
要学习数组,必须先了解跟踪句柄. 一.跟踪句柄 跟踪句柄类似于本地C++指针,但也有很大区别.跟踪句柄确实存储着某个对象的地址,但当CLR压缩堆过程中改变了该对象的地址,则垃圾回收器自动更新句柄所包含 ...
- 【AI参赛经验】深度学习入门指南:从零开始TinyMind汉字书法识别——by:Link
各位人工智能爱好者,大家好! 由TinyMind发起的#第一届汉字书法识别挑战赛#正在火热进行中,比赛才开始3周,已有数只黑马冲进榜单.目前TOP54全部为90分以上!可谓竞争激烈,高手如林.不是比赛 ...
- 深度学习入门,一文讲解神经网络的构成、训练和算法
小白深度学习入门系列 神经网络的构成.训练和算法 什么是神经网络 人工神经网络(Artificial Neural Network,ANN),简称神经网络(Neural Network,NN),是一种 ...
- PyTorch深度学习入门与实战(案例视频精讲)
作者:孙玉林,余本国 著 出版社:中国水利水电出版社 品牌:智博尚书 出版时间:2020-07-01 PyTorch深度学习入门与实战(案例视频精讲)
- PyTorch深度学习入门
作者:曾芃壹 出版社:人民邮电出版社 品牌:iTuring 出版时间:2019-09-01 PyTorch深度学习入门
- 深度学习入门 基于Python的理论与实现
作者:斋藤康毅 出版社:人民邮电出版社 品牌:iTuring 出版时间:2018-07-01 深度学习入门 基于Python的理论与实现
- 干货|《深度学习入门之Pytorch》资料下载
深度学习如今已经成为了科技领域中炙手可热的技术,而很多机器学习框架也成为了研究者和业界开发者的新宠,从早期的学术框架Caffe.Theano到如今的Pytorch.TensorFlow,但是当时间线来 ...
- 福利丨一门面向所有人的人工智能公开课:MIT 6.S191,深度学习入门
对初学者来说,有没有易于上手,使用流行神经网络框架进行教学的深度学习课程?近日,麻省理工学院(MIT)正式开源了在线介绍性课程「MIT 6.S191:深度学习入门」.该课程包括一系列有关神经网络及其在 ...
- 深度学习入门指北——从硬件到软件
作者:隔壁王大喵 近日,Rachel Thomas在fast.ai上发布了一篇博文<What you need to do deep learning>,他希望通过这篇文章回答一些深度学习 ...
- LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
Root 编译整理 量子位 出品 | 公众号 QbitAI 深度学习和人脑有什么关系?计算机是如何识别各种物体的?我们怎样构建人工大脑? 这是深度学习入门者绕不过的几个问题.很幸运,这里有位大牛很乐意 ...
最新文章
- Xamarin.Forms中为WebView指定数据来源Source
- 21.正则表达式的基本语法
- 怎样在Win7系统建立并开启Wifi热点
- 计算机专业好的211大学6,计算机专业好的985大学有哪些?附985211计算机大学名单排名...
- jarsigner签名过程
- 试用期java_Java 7试用资源
- Oracle数据库更新时间的SQL语句
- parallelstream启动的线程数_高并发与多线程网络学习笔记(三)线程组和线程池
- 项目合作| 视频监控解决隧道洗车线的安全问题
- Bootstrap 工具提示插件Tooltip 的选项
- Leecode刷题热题HOT100(1)——两数之和
- Lync Server 2013视频会议新功能及配置
- 找回密码forget_password
- 如何彻底杀掉nginx进程
- WPF捕获事件即使这个事件被标记为Handled
- Android 圆形调色板
- matlab怎么做空间计量,六步学会用MATLAB做空间计量回归详细步骤
- 访问网络共享找不到网络名的解决方案
- Spring Boot—Controller 注解
- Python初学者应该选择哪个版本