小编use*_*479的帖子

c#中的VirtualAlloc分配大内存

我正在尝试调整供应商的c#示例代码,以便与PCI-Express设备连接.代码基本上将一个大缓冲区分配为一个int数组,然后通过fixed关键字将其固定,然后将其交给硬件以填充数据.

这很好用,但它最终失败了,因为.Net仅限于数组中大约20亿个元素.我可以通过使用Long和gcAllowVeryLargeObjects关键字数组将限制推高到16 GB,但最终我仍然遇到.Net限制.

在非托管代码中,我可以调用VirtualAlloc并直接请求40或50GB,但是如果在c#中这是可能的话我不清楚并且我无法找到任何好的示例代码.我意识到我可以用不同的语言来做这件事,但在Windows上至少我对.Net比较熟悉,除了这个程序的这个相对较小的部分外,很少有特定于硬件的代码所以我想要试着坚持我所拥有的.

c# memory virtualalloc

2
推荐指数
1
解决办法
3953
查看次数

标签 统计

c# ×1

memory ×1

virtualalloc ×1