mmap

    1熱度

    1回答

    我需要用Python解析一個相當大的csv文件。爲此我使用csv(文件包含引號),並且我想使用多處理來並行執行此過程。每個進程只會從mmap文件對象中讀取它的行。但在實施這一方法,我所面臨的下一個問題(我知道有聲明蟒蛇,這僅僅是一個演示): import csv f = open('temp', 'r+b') reader = csv.reader(f) reader.next()

    1熱度

    2回答

    我是C新手,現在我正在學習mmap。我想從mmaped文件中獲得的第N個字節,但我得到這個錯誤Segmentation Fault (core dumped)當我測試的程序與gdb我得到的東西是不對的線printf("%d\n", (int) data[sk]);然後我print data,我得到 (gdb) print data[sk] Cannot access memory at addr

    6熱度

    2回答

    我試圖找出是否mmap'文件,然後使用madvise()或posix_madvise()與MADV_WILLNEED/POSIX_MADV_WILLNEED實際觸發後臺異步I/O預讀。 man pages for madvise沒有說明是否是這種情況 - madvise的實際行爲大部分都不清楚,以便實現靈活性。 但是,當與MADV_WILLNEED被調用時,是否有任何實際的主流POSIX實現(如L

    2熱度

    1回答

    我已經試過了這個反覆,看着反彙編工作正常的小C版本,但試圖分配這個小塊的內存不斷返回'9'?有人可以看到我做錯了什麼,謝謝。 movl $0x0, %edi movl $0x4000, %esi ## imm = 0x4000 movl $0x3, %edx movl $0x1002, %ecx ## imm = 0x1002 movq $-0x1, %r8 movl $0x0,

    0熱度

    1回答

    我正在使用Raspberry Pi B +,並且我正在嘗試mmap /dev/mem的兩個不同部分 - 第一個能夠從位置0x2020 0004(0x04字節長)中設置兩個引腳的功能,另一個用於從位置0x2021 4000(0x1C字節長)的Pi上的BCM2835芯片上操作BSC Slave功能。 static uint32_t * initMapMem(int fd, uint32_t addr,

    1熱度

    1回答

    我想使用malloc,而不是使用sbrk從內核中獲取我希望它分配給內存映射文件的內核。因此,如果我的機器突然崩潰,那麼會在該文件上備份進程堆。 這裏有這樣的malloc庫嗎?

    0熱度

    1回答

    從共享對象(.so)內訪問共享內存(內存映射文件,使用固定地址0x60000000)時,出現段錯誤。 我們有很多應用程序訪問這個共享內存沒有困難。 我的應用程序不同之處在於我創建了一個小的.so,而.so是一個調用mmap並訪問共享內存的應用程序。 mmap()返回就好。我請求的地址已正確返回。但是,只要我嘗試從這個.so中訪問內存,它就會發生故障。 我不明白什麼是獨特的.so,這將阻止它訪問共享

    1熱度

    1回答

    我有一個Go應用程序需要大約600GB的內存。運行該機器的機器具有128GB的RAM。我試圖決定如何最好地處理這個問題。 的選項有: 只加載的一切到內存(假裝像我有600GB RAM),並讓OS頁面從內存到虛擬內存的不經常訪問的一部分。我喜歡這個想法,因爲我不需要在代碼中做任何特殊的事情,操作系統將會處理所有事情。但是,我不確定這是一個好主意。 將數據存儲在磁盤上並使用mmap(內存映射文件),我

    0熱度

    1回答

    所以我試圖將一些代碼從Linux移植到Mac OSX。在移植期間,我遇到了這個代碼。 static void allocZeroMap(unsigned long size, int prot, const char *name) { struct map *newnode; int fd; char buf[11]; fd = open("/dev/z

    0熱度

    1回答

    我正在學習使用C(linux)中的共享內存進行編程。我需要在幾個使用fork()創建的進程之間共享一些結構。不幸的是,當我試圖初始化新共享地址空間時,我在memcpy調用中遇到了一個很小的錯誤(控制檯中沒有輸出)。 #include <stdio.h> #include <stdlib.h> #include <limits.h> #include <sys/stat.h> #includ