当前位置: 首页 > news >正文

网站设计开发软件有哪些邯郸城融网络技术有限公司

网站设计开发软件有哪些,邯郸城融网络技术有限公司,政协网站法治建设,房产网签合同怎么签托管C与C/CLI前世今生 C/CLI (C/Common Language Infrastructure) 是一种用于编写托管代码的语言扩展,它是为了与 .NET Framework 进行互操作而设计的。C/CLI 是 C 的一种方言,它引入了一些新的语法和关键字,以便更好地支持 .NET 类型和垃圾…

托管C++与C++/CLI前世今生

C++/CLI (C++/Common Language Infrastructure) 是一种用于编写托管代码的语言扩展,它是为了与 .NET Framework 进行互操作而设计的。C++/CLI 是 C++ 的一种方言,它引入了一些新的语法和关键字,以便更好地支持 .NET 类型和垃圾回收。

托管C++ (Managed Extensions for C++) 是早期的一种用于编写托管代码的语言扩展,它也是为了与 .NET Framework 进行互操作而设计的。托管C++ 是 C++ 的一种扩展,但它的语法和使用方式相对复杂和不直观。

以下是 C++/CLI 和托管C++ 的一些主要区别:

  1. 语法和关键字:
    C++/CLI 引入了新的语法和关键字,如 ref class^ (句柄) 和 gcnew
    使得编写托管代码更加直观和简洁。
    托管C++ 使用 __gc__value 等前缀来标识托管类型,语法相对复杂。

  2. 类型系统:
    C++/CLI 更好地集成了 .NET 类型系统,支持泛型、委托和事件等特性。
    托管C++ 对 .NET 类型系统的支持较为有限,使用起来不如 C++/CLI 方便。

  3. 性能和优化:
    C++/CLI 在性能和优化方面进行了改进,生成的代码更高效。
    托管C++ 的性能相对较差,生成的代码效率不如 C++/CLI。

  4. 兼容性和支持:
    C++/CLI 是当前主流的用于编写托管代码的 C++ 扩展,得到了更好的支持和维护。
    托管C++ 已经被弃用,不再推荐使用。

参考文献
Managed Extensions for C++
C++/CLI

代码示例

C++部分

//.h
#ifndef HEADER_H
#define HEADER_H#include <stdio.h>
#include <stdlib.h>
#include <iostream>using namespace std;#ifdef MYCLASS_EXPORTS
#define MYCLASS_EXPORTS __declspec(dllexport)
#else
#define MYCLASS_EXPORTS __declspec(dllimport)
#endifextern "C" MYCLASS_EXPORTS int Add(int numberA, int numberB);class MyClass
{public:MyClass();~MyClass();};#endif // !HEADER_H//c.pp
#include "header.h"MyClass::MyClass()
{
}MyClass::~MyClass()
{
}MYCLASS_EXPORTS int Add(int numberA, int numberB)
{// 计算两个数的和int result = numberA + numberB;// 返回结果return result;
}

1.设置预处理器
在这里插入图片描述

2.输出dll
在这里插入图片描述

CLR部分

//.h
#ifndef HEADER_H
#define HEADER_H#include <iostream>
#include "../MyDll/header.h"//引用库声明对应文件路径public ref class MyClrClass
{
public:MyClrClass();int AddCode(int numberA, int numberB);
};#endif // !HEADER_H//.cpp
#include "header.h"MyClrClass::MyClrClass()
{
}int MyClrClass::AddCode(int numberA, int numberB)
{return Add(numberA, numberB);
}

1.修改公共语言运行时支持
在这里插入图片描述
2.设置语言符合模式
在这里插入图片描述

3.引用前面c++部分
在这里插入图片描述

在这里插入图片描述
4.输出目标dll
在这里插入图片描述

C#调用部分

var a = 10;
var b = 20;
var invoke = new MyClrClass();
var addResult = invoke.AddCode(a, b);
Console.WriteLine($"Add result is {addResult}");

添加CLR dll
在这里插入图片描述

输出结果
在这里插入图片描述

http://www.yayakq.cn/news/806736/

相关文章:

  • 行政助手网站开发西安优化官网公司
  • 购物网站平台建设wordpress文章商品模板下载
  • 网站开发项目有哪些做家政有什么网站做推广好
  • 基本网站建设技术营销网络遍布全国
  • 淘宝客网站搭建排名优化公司哪家效果好
  • 提供设计的的网站wordpress怎么上传
  • 自己做商业网站wordpress链接在哪里设置密码
  • 官方网站建设银行年利息是多少南宁市西乡塘区建设局网站
  • 西安网站设计外包公司icp备案查询站长工具
  • 做一个赚钱的网站好深圳网站建设 排行榜
  • 深圳分销网站设计公司安踏网站建设策划方案
  • 邢台装修网站建设大站网站建设
  • 网站续费合同城桥微信网站设计制作
  • 伪装学渣无极网站二级域名需要备案吗
  • 钦州网站建设网站的建设初步定位
  • 新注册公司怎么做网站如何网站建设策划方案
  • 硬盘做网站空间不锈钢餐具做外贸哪个网站好
  • 网站开发属于购销合同在网站上有中英切换怎么做
  • 快递网站建设ps怎么做网站横幅广告
  • 河北建设厅网站上不去运营说白了是什么意思
  • 公司logo查询网站广州公司注册查询
  • 网站做友链有什么用邢台手机网站建设多少钱
  • 用自己的电脑做视频网站吗网页传奇单机版
  • 为什么网站不需要icp备案在腾讯云怎样建设网站
  • ip反查域名网站在线logo生成器免费
  • 如何建立免费网站个人网站可以做音乐吗
  • 济南市个人网站制作微网站平台怎样做网站
  • 兼职做一篇微信的网站东莞营业厅
  • 珠海网站建设乐云seo在线制作网页版word在线编辑
  • 外贸网站营销方案太原网站建设注意