c语言中char函数返回值,用于返回char的C函数的PInvoke

我正在尝试编写一些从非托管DLL调用方法的C#代码。dll中的函数原型为:

extern "C" __declspec(dllexport) char *foo(void);

在C#中,我首先使用:

[DllImport(_dllLocation)]

public static extern string foo();

它似乎在表面上起作用,但是在运行时出现内存损坏错误。我认为我指的是碰巧是正确的但已经被释放的内存。

我尝试使用称为“ P / Invoke Interop Assistant”的PInvoke代码生成实用程序。它给了我输出:

[System.Runtime.InteropServices.DLLImportAttribute(_dllLocation, EntryPoint = "foo")]

public static extern System.IntPtr foo();

它是否正确?如果是这样,如何在C#中将此IntPtr转换为字符串?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499128.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑有摄像头吗_网络答辩来了,我摄像头呢???

我们学校已经确定要网络答辩了。今明两天是预演答辩,就是指导老师带着我们一起熟悉下钉钉的使用流程,模拟一下答辩的过程,以免因为自己的不熟练而影响答辩的成绩。我们老师的意思,正式网络答辩过程中,因为自己的不熟练…

grubbs检测c语言,Grubbs算法检测离群值

▲概述:一组测量数据中,如果个别数据偏离平均值很远,那么这个(这些)数据称作“可疑值”。如果用统计方法—例如格拉布斯(Grubbs)法判断,能将“可疑值”从此组测量数据中剔除而不参与平均值的计算,那么该“可疑值”就称…

将十个数进行从大到小的顺序进行排列_如何进行商品ABC分类管理

​ ABC管理法是根据事物的经济、技术等方面的主要特征,运用数理统计方法,进行统计、排列和分析,抓住主要矛盾,分清重点与一般,从而有区别地采取管理方式的一种定量管理方法。又称主次分析法 、ABC分析法、分类管理法、…

c语言around用法,KET基础语法:介词among和around的用法及例句

孩子们开始学习KET考试后,标志着他们开始系统地学习语法,对孩子们来说是不小的挑战。复杂的语法时态、不同类型的介词、短语等,都要求他们掌握正确的复习方法,才能避免学习语法后,而不知道如何运用的误区。而学会错题整…

vue函数如何调用其他函数?_python函数调用的四种方式

第一种:参数按顺序从第一个参数往后排#标准调用运行结果:第二种:#关键字调用注意:关键调用从哪开始的,从哪以后都必须使用关键字调用除了‘*’收集参数。不能写成这样的:keyword_invoke(y1, 2),…

c语言酒店管理系统设计目的,C语言酒店管理系统设计.doc

《C程序设计》课程设计报告《C程序设计》课程设计报告班级 计科101班 学号 37 姓名 毛翔 得分一 目的加深对C/C语言知识的理解,扩大相关知识面,培养对这些知识的应用能力。通过一个实际问题的C/C语言源程序的编写和调试,提高综合运用C/C语言、…

android 基类封装用法,Android 基类封装之Fragment【原创】

现在的Android开发中,Activity和Fragment都是必不可少的,正如上篇博客所写,我们都会封装一个基类的Activity来做一些公共基础的操作。对于Fragment应用的越发广泛,在实际开发中,我们也应当封装一个基础的Fragment&…

fastjson 序列化 不包括转义字符_Java 反序列化工具 gadgetinspector 初窥 (上)

作者:Longofo知道创宇404实验室时间:2019年9月4日起因一开始是听Badcode师傅说的这个工具,在Black Hat 2018的一个议题提出来的。这是一个基于字节码静态分析的、利用已知技巧自动查找从source到sink的反序列化利用链工具。看了几遍作者在Bla…

linux gentoo安装,Gentoo安装教程——萌新向

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼手动配置内核激动人心的时刻到了,手动配置内核!先下载内核源代码,官方推荐使用gentoo-source,然后进入源代码目录,进行设置。详细的设置可以看金步国的文章。这里我只说说…

char类型怎么输入 c语言_C语言中的char

C语言中的char是用于声明单个字符的关键字。char关键字具有一些很奇怪的特点,但是想要了解这些奇怪的特点为什么会存在,我们就要先了解char关键字的原理。char关键字会在内存中找到一字节的空闲空间,并且在里面写入一个从0到255的整型&#x…

android webview网页显示不完整,【报Bug】webview页面内容显示不全

详细问题描述更新到2.6.0之后,进入webview页面,嵌入的html页面无法完全显示,部分内容被遮挡[内容]重现步骤[步骤]进入webview页面[结果]内容无法完全显示,部分内容被遮挡[期望]内容显示正常[如果语言难以表述清晰,拍一…

无法创建ole db取值函数。请查看列元数据是否有效_[C++ Primer plus 心得]3.处理数据...

本章内容包括:C变量的命名规则。C内置的整型----unsigned long、long、unsigned int、int、unsigned short、short、char、unsigned char、singed char 和boot。C11新增的整型:unsigned long long 和long long。表示各种整型的数字字面值(常量)使用const…

android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤

如今人们越来越依赖手机,手机几乎成为了生活必需品,其功能越来越多,对其他电子设备的操控能力也越来越强,那么手机如何操控打印机呢?今天小编就跟大家分享一下手机是如何通过无线安装打印机的。备注:本文以Android系统…

微信 小程序 python 渲染_你用python写过那些好玩的微信小程序?

教你用Py来玩跳一跳小程序教程项目地址 2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。 这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人…

android log.d 参数,Android log 机制 - logd 总览

Android 早期版本使用的是一个 log 驱动,后来逐渐使用 logd 进程替代(具体哪个版本我就没有去探究了,至少在 Android 8.0 里,log 驱动已经被移除)。原有 log 驱动负责的功能,都由 logd 完成。此外,logd 还可以读取 Lin…

python的requests模块功能_【python】requests模块初探(一)

一、写在前面 Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的&…

麒麟980可以升级鸿蒙吗,这五部麒麟980手机确定能升鸿蒙OS,其中有你吗?

原标题:这五部麒麟980手机确定能升鸿蒙OS,其中有你吗?就在今年九月的华为开发者大会上,余承东“一不小心”吐露出EMUI 11明年能升级鸿蒙OS 2.0的事实,这让许多华为用户兴奋不已,但首先你的手机必须要先能升…

python没有指针如何实现链表_Java、Python中没有指针,怎么实现链表、图等数据结构?...

Java、Python中没有指针,怎么实现链表、图等数据结构? (2016-10-06 11:08:19) 分类: C 其实Java, python完全可以看成在语言层用语法糖隐藏了指针。JAVA中到处充满指针,只不过把C中的指针封装成了对象的引用了,引用就相…

android语言列表+波斯,Android 多语言入门及实战

右键res,选择 New Resource Directory ,选择 locale ,选择自己想要适配的语言类型设置应用内多语言Android 7.0以下/*** 设置多语言*/public void setConfiguration(LocaleList locales, Context context) {Configuration configuration context.getResources().ge…

python接入excel_通过Python导入Excel数据,实现自动化数据测试

一、安装openpyxl pip install openpyxl 二、获取Excel表格数据 以下是我的表格数据 #导入load_workbook工作表 from openpyxl import load_workbook #创建粘贴工作表数据的类 class ParseExcel(): #工作表路径及工作表的名字 def __init__(self,excelPath,sheetName): #加载表…