写了个memcopy,八字节copy和对齐(对齐有没有用没有验证,回头再试试)。
和C语言自带的“=”和memcpy对比了一下。
main.h
#pragma once
#include <stdio.h>
#include <malloc.h>
#include <assert.h>
typedef struct MyStruct
{
int a;
char b;
int c[99999999];
}myStruct;
main.c
#include <stdio.h>
#include <malloc.h>
#include <assert.h>
#include <string.h>
#include <time.h>
#include "main.h"
myStruct s1;
myStruct s2;
void* my_memcpy3(void* dest, const void* src, int len)
{
//dest NULL, src NULL ,return NULL finish
//内存覆盖
//按8字节拷贝
if (NULL == dest || NULL == src || 0 >= len)
{
printf("Error1! dest == NULL || src == NULL || n <= 0\n");
return NULL;
}
int* pdst = (int*)dest;
int* psrc = (int*)src;
int allocation = &src;
int offset = allocation % 8;
char* temp1 = NULL;
char* temp2 = NULL;
int w