视觉 究竟什么是 CLI/C++?它与"普通"c++有何不同?
visual What is CLI/C++ exactly? How does it differ from 'normal' c++?
让我先澄清一下我所说的"正常"C++是什么意思——我目前正在阅读Walter Savitch的《C++中的问题解决》。据我所知,这并不是专门为微软或Unix编写的。因此,我的问题是,我在这本书中学习的内容(我正在用它来获得c++的通用知识)与我一直在读的关于CLI c++的内容有何不同?
如果我使用Visual C++,CLI C++正是我会遇到的吗?我完全糊涂了。
C++/CLI(有时也称为C++/CLR)指的是一种位于本机C++和之间的语言。NET框架。
它通常用于需要桥接一些本地代码(纯C++)和托管代码(如VB、C#、F#等)的应用程序。
不过,C++/CLI与常规C++大不相同。当人们说Visual C++时,其含义可能因上下文而异。有时,它们指的是启用了公共语言运行时(CLR)层的C++,有时,它们只是指纯C++。不幸的是,有很多不同的术语,也有很多用词不当的地方,但你能做什么呢?
C++和C++/CLI差别很大。C++/CLI是托管的。NET版本的C++,由微软制作以启用来自的层。NET转换为本机代码。
c++/cli是Microsoft Visual c++品牌工具的当前版本。(在c++/cli之前有一个不同的设计)
c++/cli实际上是c++的两个版本合一。有一个高度标准化的c++编译器,还有一个在CLI虚拟机上运行的c++版本。显然,标准c++从未在VM上运行,因此决定了该语言的二合一方法。
使用它时,您可以将未管理的代码和托管的代码混合在一起。"Unmanaged"是像标准c++一样编译的代码。"托管"是CLI(.Net)虚拟机器字节码的代码编译器。Microsoft为托管代码和非托管代码提供了广泛的API。使用该产品,您可以访问这两个API。
你可以使用该语言和工具开发标准的c++应用程序,你只需要小心不要使用非标准的扩展。如果您有疑问,我建议您偶尔使用另一个编译器进行编译。托管端完全是非标准的,甚至非托管端也有大量的非标准扩展。
附言:我不是专家,但我很好奇,上周读到了这篇文章。我认为你的问题值得回答。祝你好运
- 无法打开 fstream C++文件,即使它与 .cpp 位于同一位置
- "this"关键字在C++中的实现限制,因为它与危险但功能示例有关
- 与普通变量相比,仅仅读取原子变量的性能有什么不同吗
- 为什么与普通加法相比,使用 += 运算符进行加法更快
- 覆盖私有功能,它与受保护功能有何不同?
- 将柯南包与普通Qt目录连接
- 向量:清除它与删除它
- 为什么 using 指令不能与普通函数"associate"?
- 当我使用长整型时,我的代码不起作用,它与 int 一起工作得很好
- C 是否具有接口类概念,如果它在那里,那么它与Java接口类别有何不同
- 有没有人有书面证据来保证函数中参数的定义方式与普通变量声明相同?
- 这个语句到底是什么意思 stack<int, list<int> > 它与 stack 有何不同<int>?
- 我应该把Boost.Python的.so文件放在哪里,这样我就可以把它作为一个模块导入,以及我如何将它与Python 2
- 虚拟破坏者与普通破坏者
- 编写std::vector与普通数组的线程安全性
- 重载放置新运算符,具有数据成员初始化以及与普通新运算符的差异
- 为什么与普通cout的行为相比,C 中的for循环访问非初始化的内存位置
- 什么是StringCbprintf,它与一般sprintf有何不同?
- 非CS人员需要了解线程是如何工作的,因为它与多核处理器有关
- 视觉 究竟什么是 CLI/C++?它与"普通"c++有何不同?