当前位置: 首页 > 编程语言 > C#

C#和void指针共享

时间:2023-04-10 18:33:45 C#

从我读过的内容来看,有几个选项:.aspx在C#程序而不是void*中编写我的函数declerationsIntPtr。例如:publicstaticexterncharSupportsWhatever(IntPtrh);使用ref,例如:publicstaticexterncharSupportsWhatever(refh);还应该注意的是,我需要在DLL和C#应用程序之间来回传递信息。unsafe选项是第一个出现在google上的选项,但出于某种原因,在我的所有功能都感觉不对之前写了关键字unsafe。有什么建议么?通常,对于编组情况,使用IntPtr将是此处的首选方法。允许安全代码,并非常清楚地表明您的意图是来回编组指针。这就是BCL所说的它处理的数量。例如,您可以从表示本机句柄的IntPtr构造一个Cursor。基本规则是,如果您需要将其作为c#中的指针进行交互,请使用不安全的代码/指针。如果您可以将其视为不透明句柄,请使用IntPtr。如果需要将指向结构的指针传递给非托管代码,可以使用ref。unsafe是给编译器的一条指令,在这个上下文中会有一个指针。来自MSDN的公共语言运行时(CLR)中,不安全的代码被称为未验证代码。C#中的不安全代码不一定是危险的;它只是CLR无法验证其安全性的代码。因此,CLR只会在完全受信任的程序集中执行不安全的代码。如果您使用不安全的代码,您有责任确保该代码不会引入安全风险或指针错误。我用的是.net1.1和C#中的C++API,用来通过PC的COM口和主机通信:)以上就是C#学习教程:C#和void指针分享的全部内容,如果对大家有用需要了解有关C#学习教程的更多信息。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: