- 论坛徽章:
- 0
|
- typedef struct
- {
- int integer;
- char string[24];
- }RECORD;
- int main()
- {
- RECORD record, *mapped;
- int i, f;
- f = open("/usr/records.dat", O_RDWR);
-
- if(f < 0)
- {
- perror(" open target ");
- exit(0);
- }
- mapped = (RECORD *)mmap(0, 100663319*sizeof(record), PROT_READ|PROT_WRITE, MAP_SHARED, f, 0);
-
- if(mapped == MAP_FAILED)
- {
- perror(" mmap source");
- exit(0);
- }
- }
复制代码
执行到mapped = (RECORD *)mmap(0, 100663319*sizeof(record), PROT_READ|PROT_WRITE, MAP_SHARED, f, 0);
就出现
mmap source: Invalid argument报错了.
是不是我这个100663319数值太大了? |
|