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的主要内容,如果未能解决你的问题,请参考以下文章

如何解决SVN Commit Conflict

svn conflict 冲突解决

elasticsearch _update_by_query with conflicts = proceed

pgsql conflict

Eliminate the Conflict HDU - 4115

INSTALL_FAILED_CONFLICTING_PROVIDER