gpt4 book ai didi

c - memcpy函数的实现

转载 作者:行者123 更新时间:2023-12-02 04:44:49 24 4
gpt4 key购买 nike

我看过 http://www.opensource.apple.com/source/xnu/xnu-2050.24.15/libsyscall/wrappers/memcpy.c

不明白以下内容:

1-

内部

void * memcpy(void *dst0, const void *src0, size_t length) {
char *dst = dst0;
const char *src = src0;

行:

if ((unsigned long)dst < (unsigned long)src) {

我们如何将 dst 转换为 unsigned long ?这是一个指针!

2- 为什么他们有时喜欢正向复制有时喜欢反向复制?

最佳答案

你是对的,这个实现是不可移植的,因为它假设一个指针将适合 unsigned long。标准不保证这一点。

此实现的正确类型应该是 uintptr_t ,保证适合指针。

关于c - memcpy函数的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20003192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com