先簡單描繪一下錯誤發生的場景:
#define mmap_buff_size 4096
struct message
;int fd = open("./test",o_rdwr | o_creat);
lseek(fd,mmap_buff_size,seek_set);
message* m = null;
m = (message*)mmap(null,mmap_buff_size,prot_read | prot_write,map_shared,fd,0);
m->len = 3; //發生匯流排錯誤
strcpy(m->data,"123");
發生錯誤的原因是因為mmap不能去擴充套件乙個內容為空的新檔案,因為大小為0,所有本沒有與之對應的合法的物理頁,不能擴充套件。
所以只需要在新建立的空檔案中先寫入一些資料即可
完整場景
#define mmap_buff_size 4096
struct message
;struct mm
;int main()
write(fd,"1",1);
lseek(fd,mmap_buff_size,seek_set);
pid_t pid = fork();
if(pid == -1)
if(pid > 0)
wait(null);
munmap((void*)m,mmap_buff_size);
remove("./test");
}else
munmap((void*)m,mmap_buff_size);
}close(fd);
return 0;
}
vue使用bus匯流排,實現非父子元件間的通訊
vue元件通訊方式有好多,可以使用props傳值,但是props只能父子元件使用。也可以使用vuex,但是vuex比較重,而且非全域性的通訊最好不要使用vuex 在簡單的場景下,可以使用乙個空的vue例項作為 事件匯流排。這裡有兩種方式可以使用 第一種是新建乙個bus.js檔案,初始化乙個空的vue...
使用ajax遇到的錯誤
1.出現問題主要原因是button標籤的type屬性,button的type屬性值有三個分別為button submit reset。當我們在利用button標籤寫乙個按鈕且沒有指定其type屬性時,ie7以下版本會預設指定為button,其他會被預設指定為submit。當按鈕的type屬性被指定為...
使用pip時遇到的錯誤
typeerror unsupported operand type s for retry and int 由於國外官方pypi經常被牆,導致不可用,所以我們最好是將自己使用的pip源更換一下,這樣就能解決被牆導致的裝不上庫的煩惱。網上有很多可用的源,清華 linux下,修改 pip pip.co...