dll共享數(shù)據(jù)的一個(gè)方法, 可以在dll工程源文件里面這樣寫(xiě):
#pragma data_seg(".DataSegName")
int ifoo;
char cfoo[1024= {"test"};
//...
#pragma data_seg()
然后, dll工程里創(chuàng)建一個(gè)def文件, def文件寫(xiě)上:
SECTIONS:
    .
DataSegName READ WRITE SHARE
.DataSegName就是節(jié)表的名字, 這里的PE文件中創(chuàng)建一個(gè)新節(jié)表, 然后def文件指明這個(gè)節(jié)表為共享節(jié)表, 即, 進(jìn)程在加載這個(gè)dll文件的時(shí)候, 對(duì)這個(gè)節(jié)表進(jìn)行直接映射, 而不是映射一份拷貝副本
這樣, 編譯好工程后, 但這個(gè)dll文件被加載進(jìn)進(jìn)程時(shí)候, 不通進(jìn)程就可以通過(guò)這個(gè)共享數(shù)據(jù)節(jié)表進(jìn)行通訊了

ps:之前用指令
#pragma comment(linker, "/section:.DataSegName, RWS")
而不用def申明, 但這樣卻是不能對(duì).DataSegName節(jié)進(jìn)行數(shù)據(jù)共享, 不是很明白

這不就是對(duì)編譯的時(shí)候, 給link.exe程序傳遞一個(gè)參數(shù)而已么?
link /dll /sections:.DataSegName ......