【C语言】解决初始化数组时报错“undefined reference to `memcpy'”
【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'”的更多相关文章
- [CentOS]CentOS下编译CPP文件时报错[undefined reference to `__gxx_personality_v0' collect2: ld]的解决办法
在CentOS环境下编译CPP时报出 undefined reference to `__gxx_personality_v0' collect2: ld 以上错误,调查了一下,加上参数[-lstdc ...
- Apache配置压缩优化时报错——undefined symbol: inflateEnd
Apache配置压缩优化时报错——undefined symbol: inflateEnd 环境:CentOS 6.4 软件版本:httpd-2.4.6 apr-1.4.8 apr-util-1.5. ...
- [转载]解决linux 下多线程错误 undefined reference to `sem_init'
转自:https://blog.csdn.net/yzycqu/article/details/7396498?utm_source=copy 解决linux 下多线程错误 undefined ref ...
- [转载]undefined reference to `memcpy@GLIBC_2.14'
转自:http://blog.sina.com.cn/s/blog_6c5a47d30102wfw9.html undefined reference to `memcpy@GLIBC_2.14' ( ...
- 记一次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 ...
- 执行安装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 ...
- linux + eclipse + cdt 报错undefined reference......好麻烦的,这位大牛给出的方法可行,特此MARK!!!!
http://bbs.csdn.net/topics/390239632 kerosun kerosun 等级: 结帖率:96.92% 楼主 发表于: 2012-10-11 12:00:51 比如 ...
- 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 ...
- 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 ...
- cocos2d-x android 添加新场景报错: undefined reference to `vtable for XXX'
转载自 居家懒人 http://www.cnblogs.com/JD85/archive/2012/09/17/2688128.html 加入写了新场景SecondScene,结果在cpp文件里类名地 ...
随机推荐
- 记录一个uniapp写的小程序的手写板,横屏,用于签名,也可竖屏
今天需要在小程序增加一个手写板的功能,但是得横向的手写纵向的保存,直接上代码,竖屏的时候不需要旋转图片 <template> <view class="wrapper&qu ...
- vue基础2
1.表单 表单里面有单选框,多选框,下拉框,文本域 vue单页应用 SPA:signal page application(单页应用) 多页面:1个url->1个html文件 多个url-> ...
- (六).NET6.0通用读取配置文件功能
1.新增Microsoft.Extensions.Configuration包 在启动项目下,设置appsettings.json属性为始终复制 2.新建一个文件夹Common,用于存放工具类项目.并 ...
- SpringBoot(八) - 统一数据返回,统一分页工具,统一异常处理 (生成随机数,正则校验)
1.统一数据返回 使用逆向工程来进行测试,实体,mapper等省略: 1.1 直接使用 RequestResoult 1.1.1 RequestResoult 请求结果返回实体 //统一返回 实体 类 ...
- ForkJoin全解2:forkjoin实际工作流程与实现
1.相关概念解释 1.1 "内部"和外部 当一个操作是在非ForkjoinThread的线程中进行的,则称该操作为外部操作.比如我们前面执行pool.invoke,invoke内又 ...
- MySQL如果数据存在则更新,不存在则插入
如果数据存在则更新,不存在则插入,MySQL有duplicate.replace into.replace三种方式如何更新数据? insert ignore into 又是如何插入数据的呢? 准备表和 ...
- C# 10个常用特性
感谢一傻小冲的分享 https://www.cnblogs.com/liyichong/p/5434309.html 觉得很实用就搬抄一份收藏,上了年纪记忆力不好了. 1) async / await ...
- linux安装wps
1. http://wps-community.org/downloads 下载 wps-office_10.1.0.5672~a21_i386.deb ...
- 支付宝 IoT 设备入门宝典(上)设备管理篇
相信不少朋友最近都被支付宝"碰一下"广告刷屏,"不用打开APP 支付就碰一下"几个字一出简直自带BGM--其实"碰一下"就是支付宝 IoT ...
- [POI2014] HOT-Hotels 加强版题解
好好好,太好了这题,太好了. 首先有一点是很明显的: 对于一个合法的答案 \((i,j,k)\),必有一点 \(p\),使 \(dis(i,p)=dis(j,p)=dis(k,p)\) 且三点到 \( ...