keil5:error: conflicting types for xxx
Posted 旭日初扬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil5:error: conflicting types for xxx相关的知识,希望对你有一定的参考价值。
函数的实现要在函数调用前面。
报错
/**
* 该函数将初始化对象并将对象添加到对象容器中
*
* @param object 要初始化的对象
* @param type 对象的类型
* @param name 对象的名字,在整个系统中,对象的名字必须是唯一的
*/
void rt_object_init(struct rt_object *object,enum rt_object_class_type type,const char *name)
// register 定义局部变量 将变量存入寄存器,寄存器中的访问比内快
// 一般的只有编译器将变量优化后才能存入寄存器
register rt_base_t temp;
struct rt_object_information *information;
// 获取对象信息,从容器中拿到对应对象列表头指针
information = rt_object_get_information(type);
// 设置对象类型为静态
object->type = type|RT_Object_Class_Static;
// 拷贝名字
rt_strncpy(object->name,name,RT_NAME_MAX);
// 关中断 接下来链表的操作不希望被中断
temp = rt_hw_interrupt_disable();
// 将对象插入到容器的对应列表中,不同类型的对象所在的列表不一样
rt_list_insert_after(&(information->object_list),&(object->list));
// 使能中断
rt_hw_interrupt_enable(temp);
char *rt_strncpy(char *dst,const char *src,rt_ubase_t n)
// 拷贝的最大长度不为0
if(n!=0)
char *d = dst;
const char *s = src;
do
if((*d++=*s++)==0)
while(--n!=0)
*d++=0;
break;
while(--n!=0);
return(dst);
解决
/**
* 该函数将指定个数的字符串从一个地方拷贝到另外一个地方
* @param dst 字符串拷贝的目的地
* @param src 字符串从哪里拷贝
* @param n 要拷贝的最大长度
* @return the result
*/char *rt_strncpy(char *dst,const char *src,rt_ubase_t n)
// 拷贝的最大长度不为0
if(n!=0)
char *d = dst;
const char *s = src;
do
if((*d++=*s++)==0)
while(--n!=0)
*d++=0;
break;
while(--n!=0);
return(dst);
/**
* 该函数将初始化对象并将对象添加到对象容器中
*
* @param object 要初始化的对象
* @param type 对象的类型
* @param name 对象的名字,在整个系统中,对象的名字必须是唯一的
*/
void rt_object_init(struct rt_object *object,enum rt_object_class_type type,const char *name)
// register 定义局部变量 将变量存入寄存器,寄存器中的访问比内快
// 一般的只有编译器将变量优化后才能存入寄存器
register rt_base_t temp;
struct rt_object_information *information;
// 获取对象信息,从容器中拿到对应对象列表头指针
information = rt_object_get_information(type);
// 设置对象类型为静态
object->type = type|RT_Object_Class_Static;
// 拷贝名字
rt_strncpy(object->name,name,RT_NAME_MAX);
// 关中断 接下来链表的操作不希望被中断
temp = rt_hw_interrupt_disable();
// 将对象插入到容器的对应列表中,不同类型的对象所在的列表不一样
rt_list_insert_after(&(information->object_list),&(object->list));
// 使能中断
rt_hw_interrupt_enable(temp);
以上是关于keil5:error: conflicting types for xxx的主要内容,如果未能解决你的问题,请参考以下文章
elasticsearch _update_by_query with conflicts = proceed