【C语言】解决初始化数组时报错“undefined reference to `memcpy'”

零、报错

代码:

char start[] = {0xd, 0xa, 0xb3, 0xcc, 0xd0, 0xf2, 0xd2, 0xd1, 0xc6, 0xf4, 0xb6, 0xaf, 0xa1, 0xad, 0xa1, 0xad, 0xd, 0xa, 0};

报错:

interface.o: In function `main':
/home/yu/fs4412/project/uart/interface.c:45: undefined reference to `memcpy'
/home/yu/fs4412/project/uart/interface.c:85: undefined reference to `memcpy'
/home/yu/fs4412/project/uart/interface.c:90: undefined reference to `memcpy'
make: *** [Makefile:23:all] 错误 1

壹、解决

猜想是C语言经过预处理,会把数组初始化替换成用memcpy函数处理,由于没导入对应头文件,故报错,把初始化方法换一下即可,定义大小,后面单独赋值,修改后代码如下:

// 初始化时只指定数组大小
char start[19]; // 单独对数组元素进行赋值
start[0] = 0xd;
start[1] = 0xa;
start[2] = 0xb3;
start[3] = 0xcc;
start[4] = 0xd0;
start[5] = 0xf2;
start[6] = 0xd2;
start[7] = 0xd1;
start[8] = 0xc6;
start[9] = 0xf4;
start[10] = 0xb6;
start[11] = 0xaf;
start[12] = 0xa1;
start[13] = 0xad;
start[14] = 0xa1;
start[15] = 0xad;
start[16] = 0xd;
start[17] = 0xa;
start[18] = 0;

贰、可以用AI解决

把这行代码转变为单独赋值的,初始化时只指定大小,后面单独赋值
char start[] = {0xd, 0xa, 0xb3, 0xcc, 0xd0, 0xf2, 0xd2, 0xd1, 0xc6, 0xf4, 0xb6, 0xaf, 0xa1, 0xad, 0xa1, 0xad, 0xd, 0xa, 0};

【C语言】解决初始化数组时报错“undefined reference to `memcpy'”的更多相关文章

  1. [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法

    在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc ...

  2. Apache配置压缩优化时报错——undefined symbol: inflateEnd

    Apache配置压缩优化时报错——undefined symbol: inflateEnd 环境:CentOS 6.4 软件版本:httpd-2.4.6 apr-1.4.8 apr-util-1.5. ...

  3. [转载]解决linux 下多线程错误 undefined reference to `sem_init'

    转自:https://blog.csdn.net/yzycqu/article/details/7396498?utm_source=copy 解决linux 下多线程错误 undefined ref ...

  4. [转载]undefined reference to `memcpy@GLIBC_2.14'

    转自:http://blog.sina.com.cn/s/blog_6c5a47d30102wfw9.html undefined reference to `memcpy@GLIBC_2.14' ( ...

  5. 记一次oracle安装错误:INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'

    --一次oracle安装错误,oracle version:11.2.0.1.0[root@localhost ~]# cat /etc/issue\SKernel \r on an \m [root ...

  6. 执行安装redis报错undefined reference to `__sync_add_and_fetch_4'

    执行make命令时报错:   zmalloc.o: In function `zmalloc_used_memory': /var/lib/tcommsvr/redis-2.8.0-rc4/src/z ...

  7. linux + eclipse + cdt 报错undefined reference......好麻烦的,这位大牛给出的方法可行,特此MARK!!!!

    http://bbs.csdn.net/topics/390239632 kerosun kerosun 等级: 结帖率:96.92% 楼主 发表于: 2012-10-11 12:00:51   比如 ...

  8. centos7 安装PHP5.3 报错undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'

    系统:centos 7 原有PHP版本:5.6.27,5.4.45 试着安装nginx+多php版本,首先安装了5.6和5.4的版本,一帆风顺,但是在安装5.3.29版本时,出现问题了,configu ...

  9. boost.numpy编译报错:undefined reference to `PyInt_FromLong' libboost_numpy.so: undefined reference to `PyCObject_AsVoidPtr'

    [ 31%] Built target boost_numpy[ 36%] Building CXX object libs/numpy/example/CMakeFiles/dtype.dir/dt ...

  10. cocos2d-x android 添加新场景报错: undefined reference to `vtable for XXX'

    转载自 居家懒人 http://www.cnblogs.com/JD85/archive/2012/09/17/2688128.html 加入写了新场景SecondScene,结果在cpp文件里类名地 ...

随机推荐

  1. Solution Set - “让朝阳洒向晚霞,在星空下涂鸦”

    目录 0.「UR #12」「UOJ #182」a^-1 + b problem 1.「NOI Simu.」点 2.「集训队互测 2023」「QOJ #5100」卡牌游戏 3.「NOI Simu.」简单 ...

  2. Solution -「JZOJ #5457」项链

    \(\mathscr{Description}\)   Private link.   给定一条有 \(n\) 个点的圆环和 \(m\) 中颜色, 求在位置旋转, 位置翻转, 颜色旋转等价的意义下, ...

  3. 微服务实战系列(四)-注册中心springcloud alibaba nacos-copy

    1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...

  4. javaIO类--File类

    -------------------- File类 是对文件系统中文件以及目录(文件夹)进行封装的对象,可以通过面向对象的思想来操作文件和目录(文件夹).File类保存文件或目录的各种元素的信息,包 ...

  5. unified-message(统一消息平台)开源项目介绍

    unified-message(统一消息平台),为业务系统提供了标准的消息发送功能 支持发送短信.邮件.企业微信等消息,可以扩展支持其它的消息类型 可以通过手机号.邮件.企业微信用户名直接发送, 可以 ...

  6. Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2)

    题目链接:Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2) 总结:Bwa两发,C读假题.发挥很一般,补题感觉到E都是能做的,红温. A. ...

  7. Brainfly: 用 C# 类型系统构建 Brainfuck 编译器

    Brainfuck 简介 Brainfuck 是由 Urban Müller 在 1993 年创造的一门非常精简的图灵完备的编程语言. 正所谓大道至简,这门编程语言简单到语法只有 8 个字符,每一个字 ...

  8. AI赋能软件测试:未来已来,你准备好了吗?

    ps:文末有福利领取哦 引言 在数字化转型的浪潮中,软件测试作为保障产品质量的关键环节,正面临着前所未有的挑战. 传统的测试方法已难以满足快速迭代和复杂场景的需求,而人工智能(AI)的引入,则为软件测 ...

  9. Kali 修改root密码

    Kali 修改root密码 进入 Kali 系统,切换 root 用户 sudo su 输入当前用户密码 成功切换到 root 用户后,进行修改密码 passwd root

  10. 并发编程 - 线程同步(八)之自旋锁SpinLock

    前面对互斥锁Monitor进行了详细学习,今天我们将继续学习,一种更轻量级的锁--自旋锁SpinLock. 在 C# 中,SpinLock是一个高效的自旋锁实现,用于提供一种轻量级的锁机制.SpinL ...