.NET 调用c++库注意事项

简介: 原文:.NET 调用c++库注意事项很久没有更新了,主要还是因为自己懒吧,希望从今天开始坚持至少一周写一篇文章。   调用函数库是正常的,调用完成后,在使用EF进行数据更新时,将发生如下异常信息,而且几乎必现。
原文: .NET 调用c++库注意事项

很久没有更新了,主要还是因为自己懒吧,希望从今天开始坚持至少一周写一篇文章。

 

调用函数库是正常的,调用完成后,在使用EF进行数据更新时,将发生如下异常信息,而且几乎必现。

行库遇到了错误。此错误的地址为 0x79e8eda2,在线程 0xaa4 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。

有时可能会报“读或者写受访问的内存”。而如果在调用前后设置断点,将不会参数异常。

c++ 函数定义

 BOOL WINAPI DataEncryption(const BYTE* pszData, \
         const BYTE* pszDispersionFactor,\
         BYTE** pcResult);

c#调用定义

bool DataEncryption(string encryptData,string dispFactor,ref string result);

如果使用以上定义,调用将发生上面错误,正确的定义应该是

bool DataEncryption(string encryptData,string dispFactor,ref StringBuilder result);

string->StringBuilder即可解决这个问题。

这个问题个人觉得应该是是由于string在.NET中的特殊实现引起的。如果谁知道真正的原因,请帮忙解释一些原因

 

目录
相关文章
|
3天前
|
前端开发 C# 数据库
.NET中使用BootstrapBlazor组件库Table实操篇
.NET中使用BootstrapBlazor组件库Table实操篇
|
3天前
|
Linux C# Android开发
.NET Avalonia开源、免费的桌面UI库 - SukiUI
.NET Avalonia开源、免费的桌面UI库 - SukiUI
|
20天前
|
测试技术 C++ iOS开发
c++IO库详细介绍
前言 简单分享一下c++ IO相关的一些知识点,希望对大家有用
44 0
|
1月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
|
1月前
|
消息中间件 NoSQL Linux
workFlow c++异步网络库编译教程与简介
搜狗公司C++服务器引擎,编程范式。支撑搜狗几乎所有后端C++在线服务,包括所有搜索服务,云输入法,在线广告等,每日处理数百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数后端与嵌入式开发需求。 编程范式 结构化并发与任务隐藏回调与内存回收机制
33 0
|
1月前
|
关系型数据库 MySQL 开发工具
windows编译poco c++库
windows编译poco c++库
|
19天前
|
SQL 开发框架 .NET
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)
52 0
|
20天前
|
存储 定位技术 C++
C++ STL容器与常用库函数
C++ STL容器与常用库函数
59 0
C++ STL容器与常用库函数
|
25天前
|
C语言 C++
【C++】探索C++库函数的奇妙世界:深入了解如何发挥其强大功能
【C++】探索C++库函数的奇妙世界:深入了解如何发挥其强大功能
17 0
|
25天前
|
存储 算法 C语言
【编程陷阱】编写出色C++代码:遵循的注意事项和最佳实践
【编程陷阱】编写出色C++代码:遵循的注意事项和最佳实践
9 0

相关产品

  • 云迁移中心