c语言中如何自定义头文件以及头文件的实现?

lizongqi 2003-06-09 03:59:20
/*头文件*/
/*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

请高手指点:(



...全文
1622 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
arfi 2003-06-09
  • 打赏
  • 举报
回复
对于TC2,手动在dos方式建立一个.prj文件,在里边将所需的.c文件写进去就行了,每行一个.c。
然后编译的时候,选中PROJECT中的PROJECT NAME,将建立的工程文件打开,然后编译执行就可以了。
lizongqi 2003-06-09
  • 打赏
  • 举报
回复
tc2.0怎么建工程?

偶菜...
arfi 2003-06-09
  • 打赏
  • 举报
回复
建立工程了吗?
pzytony 2003-06-09
  • 打赏
  • 举报
回复

up

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧