C#代码生成C的动态库
最近发现C#有很多比较好的功能但是C不能直接使用就想到怎么将C#的功能实现后封装给C使用探索的过程比较长所以整理了一下操作供各位参考。工具Vistual Studio 2019至少是2019版本的才能支持步骤一、安装vs2019后安装.NET的插件找的一篇介绍的比较详细的博客可以参考https://blog.csdn.net/qq_43636251/article/details/104975788二、创建C#工程一定要选择类库(.Net framework)三、创建一个 C# 类库文件定义你要暴露的功能例如Add函数将该功能编写成一个静态函数。程序编写好后点击生成会在对应的生成目录下生成一个dll文件。using System; namespace ClassLibrary1 { public class MathOperations { public static int Add(int a, int b) { return (a b); } } }四、另外创建 C/CLR 类库项目这个只有在vs2019及以上版本才有 作为 C 和 C# 之间的桥梁。创建一个cs文件取名为MyLibraryWrapper点击生成后同样会在对应的生成目录下生成dll文件这时生成的dll文件就可以通过C正常调用了。#include pch.h using namespace System; using namespace ClassLibrary1; public ref class MathOperationsWrapper { public: static int Add(int a, int b) { return MathOperations::Add(a, b); } };注意需要将第三步操作生成的所有dll拷贝到CLR项目下和该项目的目标文件同一个目录即可五、完成步骤4后即可生成一个C/C可以调用的dll文件。需要注意的是上面生成的所有dll也需要放到可执行文件同一级目录方便程序能找到对应的依赖文件。示例 C 代码main.cpp//方式一 #include iostream #include string.h #using MyLibraryWrapper.dll // 引入 C# 的 dll using namespace System; using namespace MyLibraryWrapper; using namespace System::Runtime::InteropServices; extern C __declspec(dllexport) bool Add(int a, int b) { return MyLibraryWrapper::Class1::Add(a, b); }//方式二 #include iostream #using MyLibraryWrapper.dll using namespace System; using namespace MyLibraryWrapper; int main() { int result MathOperationsWrapper::Add(5, 10); std::cout Result: result std::endl; return 0; }

相关新闻

LM63智能温控芯片:从SMBus通信到PWM风扇曲线配置实战

LM63智能温控芯片:从SMBus通信到PWM风扇曲线配置实战

1. LM63项目概述与核心价值在嵌入式系统和PC硬件设计领域,热管理从来都不是一个可以掉以轻心的环节。无论是服务器机房里轰鸣的散热风扇,还是你手中高性能笔记本电脑内部精密的温控系统,其背后都离不开一个核心组件:集成了温度监控…

2026/7/27 18:28:53 阅读更多 →
Alt App Installer工作原理揭秘:微软商店API的巧妙应用

Alt App Installer工作原理揭秘:微软商店API的巧妙应用

Alt App Installer工作原理揭秘:微软商店API的巧妙应用 【免费下载链接】alt-app-installer A Program To Download And Install Microsoft Store Apps Without Store 项目地址: https://gitcode.com/gh_mirrors/alt/alt-app-installer Alt App Installer是一…

2026/7/27 18:28:53 阅读更多 →
LM5064负压热插拔控制器:智能保护与PMBus监控设计指南

LM5064负压热插拔控制器:智能保护与PMBus监控设计指南

1. 项目概述:为什么我们需要一个“聪明”的负压热插拔控制器?在通信基站、工业自动化或者服务器背板这些大家伙里,电源系统往往是-48V或者-24V的负压架构。想象一下,你正在给一个正在运行的服务器机柜更换一块业务板卡&#xff0c…

2026/7/27 18:28:53 阅读更多 →

最新新闻

从零开始搭建实时语音识别服务:FunASR完全指南

从零开始搭建实时语音识别服务:FunASR完全指南

从零开始搭建实时语音识别服务:FunASR完全指南 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving. 项目地址: htt…

2026/7/27 18:38:55 阅读更多 →
如何高效使用Mole:终极Mac终端清理工具实战指南

如何高效使用Mole:终极Mac终端清理工具实战指南

如何高效使用Mole:终极Mac终端清理工具实战指南 【免费下载链接】Mole 🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal. 项目地址: https://gitcode.com/GitHub_Trending/mole15/Mole Mole是一款强大的终端Mac…

2026/7/27 18:38:55 阅读更多 →
面试官:如何确保动态线程池任务都执行完?

面试官:如何确保动态线程池任务都执行完?

面试官:如何确保动态线程池任务都执行完? 在多线程并发编程中,线程池是管理线程生命周期的核心工具。然而,面试官经常会抛出这样一个问题:“当线程池动态添加任务时,如何确保所有提交的任务都执行完毕&…

2026/7/27 18:38:55 阅读更多 →
如何利用TLS Poison通过图片标签实现浏览器CSRF攻击

如何利用TLS Poison通过图片标签实现浏览器CSRF攻击

如何利用TLS Poison通过图片标签实现浏览器CSRF攻击 【免费下载链接】TLS-poison 项目地址: https://gitcode.com/gh_mirrors/tl/TLS-poison TLS Poison是一款功能强大的安全测试工具,它不仅支持通过TLS实现通用SSRF攻击,还能借助图片标签完成CS…

2026/7/27 18:38:55 阅读更多 →
终极原神抽卡分析工具:免费快速导出你的祈愿历史完整指南

终极原神抽卡分析工具:免费快速导出你的祈愿历史完整指南

终极原神抽卡分析工具:免费快速导出你的祈愿历史完整指南 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 想要系统分析你的原神抽卡记录却不知…

2026/7/27 18:38:55 阅读更多 →
验证码逆向工程实战:从加密参数到风控对抗的完整解析

验证码逆向工程实战:从加密参数到风控对抗的完整解析

1. 项目概述:从“黑盒”到“白盒”的验证码攻防实战在当前的互联网安全攻防体系中,验证码作为区分人机行为的第一道防线,其复杂度和对抗强度与日俱增。特别是以某讯为代表的互联网大厂,其旗下的滑块、云验证码、天御、防水墙等产品…

2026/7/27 18:37:55 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻