gpt4 book ai didi

c# - "cannot be marshaled by the runtime marshaler"是什么意思?

转载 作者:可可西里 更新时间:2023-11-01 03:09:09 28 4
gpt4 key购买 nike

在编译 C# ASP.NET 应用程序时,我从 Visual Studio 2008 中收到奇怪的警告。谁能告诉我这个警告的含义(如果可能的话,用几个音节的词)?

At least one of the arguments for 'IasHelper.Process' cannot be marshaled by the runtime marshaler. Such arguments will therefore be passed as a pointer and may require unsafe code to manipulate.

最佳答案

Marshal 类负责将非托管代码/类转换为托管类,反之亦然。参见 the msdn documentation of the Marshal Class .

如果您包含一些互操作程序集来访问 COM 对象等,则 Marshal(l)er 可能无法处理该操作。因此,您的程序中运行着准非托管部分,这反过来会导致缓冲区溢出等令人讨厌的事情。因此,您离开了安全、舒适的托管代码世界,进入了 C/C++ 及其可怕兄弟的草率、危险领域。 :-)

关于c# - "cannot be marshaled by the runtime marshaler"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684805/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com