#include #include #include #include #define MCPYSIZE 2048 extern char *my_strncpy(char *dest, const char *src, size_t n); int main() { long buffer[MCPYSIZE]; int i, j, k, x; char *src, *dst; size_t len; int shmid; char* shmaddr; shmid = shmget(1, 16384, IPC_CREAT|SHM_R|SHM_W); shmaddr = (char*) shmat(shmid, NULL, SHM_RND); for (i=0; i<16384; i++) shmaddr[i] = i; dst = (char*) buffer; for (k=1; k<1000; k+=1) for (i=0; i<8; i++) for (j=0; j<8; j++) { src = (char*) shmaddr + 16384 - k - i; dst = (char*) buffer + j; len = k; strncpy(dst, src, len); for (x=0; x