
问题描述:
我写了个函数,想弄成库,怎么弄啊?
我只是把它定义到头文件中了,可是不行啊!
编译的时候编译器说是打不开这个头文件!
怎么办啊?
解析:
可以,只要实现文件也加到工程里面就可以了.
注意,工程要包含你的头文件和实现文件,这样你自己的函数库就可以在任何需要的工程中使用了.
可以,只要的程序调用的时候能找到函数的定义就可以了.所谓定义就是函数的具体实现程序.
intadd(int
x,int
y)
int
sub(int
x,int
y)
int
mul(int
x,int
y)
int
div(int
x,int
y)
#include
<math.h>
#include
<stdio.h>
void
main()
{
int
a,b,c,d,e,f,g,h,i
printf("XXXXXXXXXXXXXXX计算器")
printf("\n")
for(c=1c<=30c++)
printf("*")
printf("\n")
printf("请输入一个整数")
printf("\n")
scanf("%d",&a)
printf("\n")
for(c=1c<=30c++)
printf("-")
printf("\n")
printf("请选择您要做的运算:1.+,2.-,3.*,4./5.abs,6.sqrt")
printf("\n")
for(c=1c<=30c++)
printf("*")
printf("\n")
scanf("%d",&d)
printf("\n")
if(d==5)
{printf("%d",abs(a))goto
end}(如果想做绝对值,就直接做abs函数(它是个库函数).做完后就goto"end"--也就是函数的最后.)
if(d==6)
{printf("%.2f",sqrt(a))goto
end}}(如果想做开平方,就直接做sqrt函数(它是个库函数).做完后就goto"end"--也就是函数的最后.)
printf("请再次输入一个整数")
(如果是做双目的就开始输入第二个数b)
printf("\n")
scanf("%d",&b)
printf("\n")
switch(d)
{
case
1:add(a,b)break
case
2:sub(a,b)break
case
3:mul(a,b)break
case
4:div(a,b)break
default:printf("date
input
error!\n")
}
end:
printf("\n")}
int
add(int
x,int
y)
{
int
m
m=x+y
printf("%d",m)
return
m
}
int
sub(int
x,int
y)
{
int
m
m=x-y
printf("%d",m)
return
m
}
int
mul(int
x,int
y)
{
int
m
m=x*y
printf("%d",m)
return
m
}
int
div(int
x,int
y)
{
int
m
m=x/y
printf("%d",m)
return
m
}
(你试试看吧!应该可以!呵呵)
你可以把你的头文件复制到 stdio.h 所在的文件夹,并 修改 编译器自带的 stdio.h,在 stdio.h 的 尾部 加一句 #include 你开发的头文件名 即可。以后,凡使用 stdio.h 就自动有了 你开发的头文件了。
这个 *** 作很简单,但你要有管理员特权,才能修改stdio.h。
如果 可以自己 写 #include ... 你可以 把自己开发的 头文件写在 自己 的 一个文件夹。把自己的文件夹路径 加入到 环境变量 INCLUDE 中。例如文件夹路径是 d:\my_head 用 命令:
set INCLUDE=%INCLUDE%d:\my_head
就可加入。 使用头文件 用 #include <my_some.h>
my_some.h 是你开发的头文件之一,存放在 d:\my_head\ 下面。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)