C# 代码到 C++(内存映射文件)
c# code to c++(memory maped file)
这是我的C#应用程序中的方法。我需要将此代码转换为 c++
MemoryMappedFile myNonPersisterMemoryMappedFile = MemoryMappedFile.CreateNew("myNonPersisterMemoryMappedFile", 10000000);
public static void send_data(byte[] b)
{
var bytes = Encoding.ASCII.GetBytes(b.Length.ToString());
byte[] f = new byte[b.Length + 1 + bytes.Length];
f[0] = (byte)bytes.Length;
Array.Copy(bytes, 0, f, 1, bytes.Length);
Array.Copy(b, 0, f, 1 + bytes.Length, b.Length);
BinaryWriter bw = new BinaryWriter(myNonPersisterMemoryMappedFile.CreateViewStream(0, 10000000));
bw.Write(f, 0, f.Length);
bw.Close();
}
从一种语言直接音译到另一种语言是一个坏主意。
相反:
- 了解代码的作用并制定其合同。
- 用目标语言设计正确的界面。
- 以目标语言实现它。
这样做,如果您有任何具体问题,请回来。
System::String^ str = rgbValues->Length.ToString();
array<Byte>^ one =System::Text::Encoding::ASCII->GetBytes(str);
array<Byte>^ all = gcnew array<Byte>(one->Length + 1 + rgbValues->Length);
all[0] = one->Length;
System::Array::Copy(one, 0, all, 1, one->Length);
System::Array::Copy(rgbValues, 0, all, (1 + one->Length), rgbValues->Length);
相关文章:
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- 写入映射文件
- 内存映射文件访问非常慢
- 我正在尝试创建一个C++映射,该映射在boost内存映射文件中具有向量值
- 无法从地址打开映射文件
- 为什么 du -sh 输出错误大小的内存映射文件
- 使用 mmap 映射文件中的不同段
- Growing Boost.使用单个写入器的进程间内存映射文件
- 调整窗口内存映射文件的大小,而不会使指针失效
- 映射文件中成员结构的地址
- 与从C++到C#的内存映射文件共享链式结构
- 在 C++ 和 C# 之间共享内存映射文件结构
- 如何使用 Boost 的"mapped_file_sink"类刷新内存映射文件?
- 使用Solaris 64位或Linux 32位到Linux 64位的内存映射文件
- 循环访问提升mapped_region/内存映射文件
- 使用 Win32/WINAPI 通过内存映射文件传输数据
- qtCreator 错误:无法映射文件,errno=22 文件用于架构x86_64?
- 复制存储在内存映射文件中的数组的一部分
- 用于读取输入文件的内存映射文件的安全
- 写入和读取映射文件C++