2009-07-11 88 views
2

出於性能考慮,我想寫入內存,外部應用程序可以讀取內存。我無法將兩個應用程序鏈接在一起,所以我認爲唯一的方法是編寫一個文件。但是將其寫入物理磁盤的速度不夠快。我想安裝一個虛擬分區,以便任何應用程序都可以訪問它。怎麼做?我可以以編程方式在內存中創建虛擬磁盤嗎?

+0

檢查[this](http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=55821)out。 – 2009-07-11 15:44:53

+0

DevCon不可再發行。它被用作調試和開發工具。 – Nifle 2009-07-11 15:49:41

+0

上述聲明來源:http://support.microsoft.com/?scid=kb%3Ben-us%3B311272&x=12&y=11 – Nifle 2009-07-11 15:51:51

回答

2

你可以使用命名管道在應用程序之間傳輸數據。

9

您不需要爲創建虛擬磁盤而在Windows上的進程之間共享內存 - 您可以創建共享內存塊,然後多個進程可以訪問該內存。

看到這個MSDN文章:Creating Named Shared Memory

1

我希望你可以使用.NET 4.0 :)

.NET 4.0引入了內存映射文件。

貢納爾Peipman下面的鏈接很好地在博客:.Net Framework 4.0: Using memory mapped files

在他的博客中,「內存映射文件是有用的,當你需要做的內存數據處理和數據結構是大,大IN-。內存映像文件的性能是最好的,它比MemoryStream快得多,並且像硬盤上的文件一樣,內存映射文件可以在不同的程序間共享。「

他的博客也包含示例代碼。

+1

不幸的是,似乎只有.NET應用程序可以訪問這些文件。 – 2009-07-11 22:13:37

相關問題