c语言中如何自定义头文件以及头文件的实现?
/*头文件*/
/*UF_math.h*/
#ifndef UF_MATH_H
#define UF_MATH_H
long two_nums_sum(long llv_numa, long llv_numb);
long two_nums_max(long llv_numa, long llv_numb);
#endif
/*头文件的实现文件*/
/*UF_math.c*/
/********************************************************************************/
/* Function : two_nums_sum */
/* Description : 根据输入的两个long型数值,求出它们的和 */
/* Calls : 无
*/
/* Called By : main */
/* Global Variable : 无 */
/* Table Accessed : 无 */
/* Table Updated : 无 */
/* Input : 两个long型数值
*/
/* Output : 无
*/
/* Return : long型数值 */
/* others :
*/
/********************************************************************************/
long two_nums_sum(long llv_numa, long llv_numb)
{
long tmp;
tmp=llv_numa + llv_numb;
return tmp;
}
/********************************************************************************/
/* Function : two_nums_max */
/* Description : 根据输入的两个int型数值,求出它们的最大值 */
/* Calls : 无
*/
/* Called By : main */
/* Global Variable : 无 */
/* Table Accessed : 无 */
/* Table Updated : 无 */
/* Input : 两个long型数值
*/
/* Output : 无
*/
/* Return : long型数值 */
/* others :
*/
/********************************************************************************/
long two_nums_max(long llv_numa, long llv_numb)
{
long tmp;
if (llv_numa > llv_numb)
{
tmp=llv_numa;
}
else
{
tmp=llv_numb;
}
return tmp;
}
/*下面是main函数*/
#include "stdio.h"
#include "d:\tC20\UF_Math.h"
/*G:global l:long c:const*/
#define GIC_MAX_INT 65535
void main(void)
{
/*l:local l:long v:variant*/
long llv_num1, llv_num2;
/*llv_num1赋值*/
/*循环直到llv_num1取得有效的整数值*/
while(1)
{
printf("Pls input the value of llv_num1(ENTER to submit):\n");
scanf("%ld", &llv_num1);
/*检查llv_num1的合法性*/
if (llv_num1 > GIC_MAX_INT )
{
printf("INPUT ERROR:llv_num1 must be smaller than %ld\n", GIC_MAX_INT);
printf("=========Pls try again=========\n");
continue;
}
else
{
break;
}
}
/*llv_num2赋值*/
/*循环直到llv_num2取得有效的整数值*/
while(1)
{
printf("Pls input the value of llv_num2(ENTER to submit):\n");
scanf("%ld", &llv_num2);
/*检查llv_num2的合法性*/
if (llv_num2> GIC_MAX_INT )
{
printf("INPUT ERROR:llv_num2 must be smaller than %ld\n", GIC_MAX_INT);
printf("=========Pls try again=========\n");
continue;
}
else
{
break;
}
}
printf("*********************************************\n");
printf("You just inputted two valid numbers\n");
printf("llv_num1=%ld\tllv_num2=%ld\n", llv_num1, llv_num2);
printf("*********************************************");
printf("The sum of llv_num1 and llv_num2 is %ld\n", two_nums_sum(llv_num1, llv_num2));
printf("The Max of llv_num1 and llv_num2 is %ld\n", two_nums_max(llv_num1, llv_num2));
}/*main函数结束*/
用pclint查错,main函数和UF_math.c都没有错误,只有UF_math.h出现下列信息
D:\TC20\UF_math.h 4 Info 752: local declarator 'two_nums_sum(long, long)' (line 4, file
D:\TC20\UF_math.h) not referenced
D:\TC20\UF_math.h 5 Info 752: local declarator 'two_nums_max(long, long)' (line 5, file
D:\TC20\UF_math.h) not referenced
D:\TC20\UF_math.h 3 Info 750: local macro 'UF_MATH_H' (line 3, file D:\TC20\UF_math.h) not
referenced
用tc2.0编译main.c出现错误
Linking C:\TC20\MYBOX\MAIN.EXE:
•Linker Error: Undefined symbol '_two_nums_max' in module MAIN.C
Linker Error: Undefined symbol '_two_nums_sum' in module MAIN.C
请高手指点:(