#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
#include<sys/mman.h>
#include<string.h>
int main(int argc,char *argv[])
{
//省略了参数合法性检查
int fdsrc=open(argv[1],O_RDONLY);
//省略了fdsrc的检查
size_t len=lseek(fdsrc,0,SEEK_END);
int fddest=open(argv[2],O_RDWR|O_CREAT|O_EXCL,0666);
//省略了fddest的检查
ftruncate(fddest,len);
// 职场包公庙边
// 址长保共描偏
char *addrsrc=mmap(NULL,len,PROT_READ,MAP_PRIVATE,fdsrc,0);
if(addrsrc==MAP_FAILED)
{
perror("源文件映射");
}
//省略了地址的检查
char *addrdest=mmap(NULL,len,PROT_WRITE,MAP_SHARED,fddest,0);
close(fdsrc);
close(fddest);
memcpy(addrdest,addrsrc,len);
munmap(addrsrc,len);
munmap(addrdest,len);
}