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

东莞做门户网站电子商务网站建设设计题

东莞做门户网站,电子商务网站建设设计题,网站建站流程有哪些,wordpress数据库作用背景:接受的项目代码有一年了,对应C#调用C中 结构体托管和非托管也有了一些自己的了解。托管那么C#中不需要再次定义这个结构体,非托管需要重新定义结构体中每个参数,在我的项目中两种都用到了,还用到第三种分隔符传入…

背景:接受的项目代码有一年了,对应C#调用C++中 结构体托管和非托管也有了一些自己的了解。托管那么C#中不需要再次定义这个结构体,非托管需要重新定义结构体中每个参数,在我的项目中两种都用到了,还用到第三种分隔符传入复杂数据结构的。

1、托管

使用 C++/CLI(托管 C++)桥接 C++ 和 C#

这种方式推荐用于调用复杂结构、类方法、STL 的情况。你可以:

  1. 在 C++/CLI 中封装 native C++ 结构体和函数。

  2. 在 C++/CLI 中创建托管类(public ref class)暴露给 C#。

  3. 在 C# 中引用编译后的 C++/CLI DLL(.NET Assembly)。

示例结构

① Native C++ 结构体(NativeLib.h)

#pragma once
struct MyStruct {int a;double b;double Sum() const {return a + b;}
};

② C++/CLI 托管桥(ManagedBridge.cpp)

#include "NativeLib.h"public ref class MyStructWrapper {
private:MyStruct* nativeStruct;
public:MyStructWrapper(int a, double b) {nativeStruct = new MyStruct{ a, b };}~MyStructWrapper() {delete nativeStruct;}double Sum() {return nativeStruct->Sum();}
};

③ C# 中使用

class Program {static void Main() {var wrapper = new MyStructWrapper(3, 4.5);double result = wrapper.Sum();Console.WriteLine($"Sum = {result}");}
}

2、非托管

使用 P/Invoke 调用 C++ DLL(C 接口)

C++ 不支持直接导出类或结构体的方法给 P/Invoke,需要封装为 C 接口(extern "C"),只传结构体作为参数。

🔧 示例结构体 + 导出方法(NativeLib.cpp)

extern "C" {struct MyStruct {int a;double b;};__declspec(dllexport) double Sum(MyStruct s) {return s.a + s.b;}
}


C# 中 P/Invoke 调用

[StructLayout(LayoutKind.Sequential)]
public struct MyStruct {public int a;public double b;
}class Program {[DllImport("NativeLib.dll")]public static extern double Sum(MyStruct s);static void Main() {MyStruct s;s.a = 3;s.b = 4.5;double result = Sum(s);Console.WriteLine($"Sum = {result}");}
}

🆚 比较总结

方法优点缺点
C++/CLI支持类、方法、继承、STL等复杂结构只能用于 Windows,编译设置复杂
P/Invoke跨平台,结构体/函数易绑定不支持类方法,要手动封装为 C 接口

http://www.dtcms.com/a/510327.html

相关文章:

  • 快速提升网站排名中国建设资格注册中心网站
  • 做亚马逊需要的图片外链网站营销型网站建设开发价格
  • 新浪云服务器做网站搜索指数查询平台
  • 站内关键词排名优化软件天水市住房和城乡建设局网站
  • js做示爱网站例子安卓开发课程
  • 龙岗网站的建设建立企业网站 优帮云
  • 万网做网站给网站源码大学生创新创业大赛负责人简介
  • 网站右下角图片广告代码广州市平安建设 网站
  • 网站建设仟首选金手指做搜狗网站
  • 网站建设与管理下拉列表框网站备案地点
  • 天津营销网站建设低价网站建设多少钱
  • 根目录下两个网站怎么做域名解析成都网站建设 常凡云
  • 做3d兼职网站网站系统维护一个月正常吗
  • 会建设简单的网站可以赚钱吗支付宝小程序推广
  • html5网站动效怎么做织梦网站地图模板下载
  • 在网站上显示备案信息商品数据包网站开发
  • 创业怎么做网站seo策划方案
  • 中英文的网站怎么建设内容营销的核心
  • 做网站有哪些公司好实施网站推广的最终目的是
  • 洛阳php网站开发自学网设计
  • 农业信息门户网站建设方案创造网址
  • 营口网站建设点餐小程序源码下载
  • 网站建设初期怎么添加内容visual studio 做网站
  • 哪里可以学seo课程wordpress seo插件哪个好
  • wordpress没有显示安装插件网站结构优化包括什么
  • 建立网站需要多少钱八寇湖南岚鸿团队网站浏览器兼容问题
  • 百度推广还要求做网站建设网站需要什么资质吗
  • 山东做网站找哪家好杭州seo专员
  • 建设银行网站电子支付在哪里安卓app在线生成
  • 一键生成作文的网站淘客请人做网站