memory-mapped-files

    -1熱度

    1回答

    如何展開字符串而不聲明任何其他字符串以將它們與源字符串連接起來? // Figuratively clarification: char *string = malloc(16); strcpy(string, "Stack/Overflow"); &string[5] = expand(5); // Result (In-memory): Idx

    3熱度

    1回答

    我有一個窗體與datagridview,我正在讀取列表中的特定列值。我需要在單個內存映射文件中共享列表的所有值,但以下是我所關心的: 1.以字節爲單位查找列表大小。 2.需要共享列表的所有項目。 這裏是我正在共享的單一變量的值我的示例代碼: string MyName = "Seema"; int totalBytes = MyName.Length * sizeof(Char) + 4

    0熱度

    2回答

    我所擁有的文件比較的布爾方法。它成爲bb的一部分並且平等地檢查。 如果零件相等 - 得到下一個塊。如果位置(點)>文件大小和所有塊相等 - 則返回true。 適用於小文件(10MB),但在大文件上有問題。 private static boolean getFiles(File file1, File file2) throws IOException { FileChannel cha

    0熱度

    1回答

    我正在初始化boost mapped_file_params,如下所示。 mapped_file_params param; param.path = _fileName.c_str(); param.flags = mapped_file::readwrite; int nGranularity = mapped_file::alignment(); //! must be in mul

    2熱度

    1回答

    Boost mapped_file_source似乎在例如情況下引發異常。文件未找到。究竟哪些異常類會拋出?它似乎沒有在文檔中說,除非我失去了一些東西。 編輯:測試用例: #include <boost/iostreams/device/mapped_file.hpp> int main(int argc, char** argv) { boost::iostreams::mappe

    1熱度

    1回答

    我想解析一些文本文件的大小高達幾百兆字節在性能很重要的上下文中,所以我使用boost mapped_file_source。解析器期望源以空字節結束,因此我想檢查文件大小是否是頁大小的精確倍數(如果是這樣,則回退到較慢的非內存映射方法)。我想我可以做到這一點: if (mf.size() & (mf.alignment() - 1)) 但事實證明,在一個測試文件大小爲20480,基準爲6553

    -2熱度

    1回答

    就像在標題中一樣,我在持久化內存映射文件的使用中執行了一些操作,並且我看到文件被阻塞,即它變爲只讀。我應該爲文件做什麼變得再讀寫? 我重新啓動了機器,即重新啓動了操作系統,但文件甚至被阻塞。 感謝您的任何幫助。

    2熱度

    1回答

    首先,我創建一個文件和回聲一些字符的微博,貓文件它表明: sasdfasdfas asfdasfsadf 然後在C節目,我打開該文件: int fd=open("file",O_RDWR); mmaped文件用: unsigned char *addr=mmap(NULL,length,PROT_WRITE,MAP_PRIVATE,fd,pa_offset); 其中長度是大約由FSTAT劉

    1熱度

    1回答

    我有一個類比較器,比較我的文件與不同的算法。 在這部分我嘗試從文件中獲取一個字節塊,以便與另一個文件的塊進行比較。 public class CompareFiles { private byte[] getBytesFromFile(File file) throws IOException { long BUFFER_SIZE = 4 * 1024; Rando

    2熱度

    1回答

    我一直有一個艱難的時間內存映射550MB文件。我知道32位JVM可以分配1.4G左右的最大內存大小,所以我需要按部分映射大文件。但是,這是一個550MB的文件,但我仍然無法將它全部映射到內存中。我能做的最好的是大約333MB的緩衝區大小。 下面是我的測試代碼: void testMap() throws IOException{ long buffer = 500000000; // C