完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
系统版本 v4.1.0 环境 基于芯片 STM32F407VE 的原始工程 具体描述 引入头文件 <string.h> ,无法使用函数 strdup() 。但是在版本 v4.0.2 中可以直接使用。 尝试解决 直接引入 _DEFAULT_SOURCE 宏,但是不知道这将会造成什么别的影响。。。 |
|
相关推荐
3个回答
|
|
可以用rt_strdup啊,#include
char *rt_strdup(const char *s); char *rt_strstr(const char *str1, const char *str2); rt_int32_t rt_strcasecmp(const char *a, const char *b); char *rt_strcpy(char *dst, const char *src); char *rt_strncpy(char *dest, const char *src, rt_size_t n); rt_int32_t rt_strncmp(const char *cs, const char *ct, rt_size_t count); rt_int32_t rt_strcmp(const char *cs, const char *ct); rt_size_t rt_strlen(const char *src); |
|
|
|
但我使用这个函数的是一个第三方库,不太想引入 RT-Thread 的定义。是否有别的解决方式呢?
|
|
|
|
strdup不是C标准库的函数,你可以尝试加这个宏定义_GNU_SOURCE或者定义_POSIX_C_SOURCE为200809L试试看;
string.h里面的函数实现,一般是工具链里面的静态库提供的,而像strdup这种不是标准库的函数,工具链里面不一定实现了(不同厂商的不同版本会有差异); 不想用rtthread.h里面的这个函数的话,可以考虑复制一个出来,但是这个依赖malloc,需要确保你的malloc可以正常使用; |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
798 浏览 0 评论
4836 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2622 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2958 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31763 浏览 11 评论
73083 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 15:54 , Processed in 0.612865 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号