我正在为 C/C++ 库编写一个 .NET 适配器,其中方法“bar”采用常规 stdio FILE*。是否可以构建一个接口,以便托管代码用户可以传递托管(文件)流?那就是没有创建中间缓冲区和代码来管道之间的数据。还有 bar() 读取的假设是否会使事情变得更好?
// native code
void bar(FILE*);
// interface for managed code
void foo(System::IO::FileStream^ file)
{
FILE* stdio_handle = ???;
bar(stdio_handle);
}