Why Use C++/CLI?
来源:http://www.asawicki.info/Download/Productions/Publications/CPP_CLI_tutorial.pdf
Why Use C++/CLI?
Why learn and use such weird hybrid language if we have C# with nice syntax, designed specifically for .NET platform? C++/CLI has an unique feature among other .NET languages: You can freely mix managed (.NET) and native (C++) code in a single project, single source file, even single function code. It makes the language hard to replace in some applications, like:
- When you write software that needs to use some native as well as managed libraries.
- When you write a library that links native with managed code, for example exposes an interface of somenative library to .NET code.
- When you write a program that needs both efficient processing of some binary data (which is best done in native C++ code using pointers) and has complex graphical interface (which is best one using Windows Forms) – just like I did in my job.
What C++/CLI is Not?
You may think that C++/CLI is some ugly, proprietary hack to C++ introduced by bad “M$” to confuse programmers. That’s not exactly true. Microsoft put effort to make this language really good. Some famous computer scientists and 3 C++ gurus were involved in its development, like Stanley B. Lippman and Herb Sutter. The language itself is standardized as ECMA-372. I must also clarify that C++/CLI is not the same as the old language called Microsoft Extensions for C++. That strange language which extended C++ syntax with ugly keywords like __gc or __value was predecessor of C++/CLI and is now deprecated. The syntax of C++/CLI is totally different and much more pleasant.
Why Use C++/CLI?的更多相关文章
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- 跨越语言的障碍:C++/CLI 调用 C#
首先我想投诉一下博客园首页右边栏的广告..最近总是出现很恐怖的整容脸的广告.真的是吓坏了.=.=大家有同感吗? 博客园前一阵子掀起了语言的广泛讨论,事实上语言的争执在整个程序员圈子也没有停止过.以我个 ...
- Ubuntu 安装 CLI 并运行 ASP.NET Core 1.0
Ubuntu 下载地址:http://www.ubuntu.org.cn/download/desktop 注:目前 CLI 的安装命令只支持 Ubuntu 14.04,暂不支持 Ubuntu 14. ...
- 『.NET Core CLI工具文档』(十四)dotnet-install 脚本参考
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-install scripts reference 翻译:dotnet-install 脚本参考 名称 d ...
- 『.NET Core CLI工具文档』(九)dotnet-run
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-run 翻译:dotnet-run 名称 dotnet-run -- 没有任何明确的编译或启动命令运行&q ...
- 『.NET Core CLI工具文档』(八)dotnet-restore
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-restore 翻译:dotnet-restore 名称 dotnet-restore - 还原一个项目的 ...
- 『.NET Core CLI工具文档』(七)dotnet-new
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet-new 翻译:dotnet-new 名称 dotnet-new -- 创建一个新的 .NET Core 项 ...
- 『.NET Core CLI工具文档』(六)dotnet 命令
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:dotnet command 翻译:dotnet 命令 名称 dotnet -- 运行命令行命令的一般驱动程序 概要 d ...
- 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Tools Telemetry 翻译:.NET Core 工具遥测(应用信息收集) .NET Cor ...
- 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)
说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...
随机推荐
- luogu P3376 【模板】网络最大流(no)ek
题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入输出格式 输入格式: 第一行包含四个正整数N.M.S.T,分别表示点的个数.有向边的个数.源点序号.汇点序号. 接下来M行每行 ...
- CodeForces - 16E Fish
Discription n fish, numbered from 1 to n, live in a lake. Every day right one pair of fish meet, and ...
- springboot 2.0.8 跳转jsp页面
springboot项目创建教程 https://blog.csdn.net/q18771811872/article/details/88126835 springboot 2.0跳转 html教程 ...
- 363. Max Sum of Rectangle No Larger Than K
/* * 363. Max Sum of Rectangle No Larger Than K * 2016-7-15 by Mingyang */ public int maxSumSubmatri ...
- asp.net获取请求的协议头是否启动了SSL(Https)
方法: HttpContext.Current.Request.IsSecureConnection SLL:True HttpContext.Current.Request.Url.ToString ...
- Windows 远程桌面文件传输的方法
实现电脑的远程连接以后,很多时候会需要进行主机间的文件传输,这个时候就可以用系统自带的远程连接里的磁盘映射来完成,详细如下: 远程桌面程序内置了映射磁盘的功能,通过这个功能可以实现远程登录服务器时自动 ...
- DIV相对于父DIV底部对齐的实现方法
代码如下 <style type="text/css"> .box1 {border:1px #cccccc solid; width:500px; height:60 ...
- mac复制文件命令
test1下有test01 test02两个文件 ,复制到test2下 则cp -r test1/ test2 权限不够,,则加sudo test2要事先存在, 如果复制test01到当前目录 cp ...
- 基于django的网站开发一基础项目配置
首先确认电脑上已经安装好了python和django,我的python版本是2.7.13,django版本是1.10.2.数据库我使用的是mysql,版本是5.7.17,我是windows7系统,用的 ...
- DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 解决方法
在操作大量数据时如果发生这种错误,说明不是db2 使用的 package没有绑定,而是 因为资源未释放,导致可以使用此package的资源不足,致使不能连接资源. 在程序中,对PreparedStat ...