int
成都创新互联主营恩阳网站建设的网络公司,主营网站建设方案,app开发定制,恩阳h5成都微信小程序搭建,恩阳网站营销推广欢迎恩阳等地区企业咨询
add(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=1;c=30;c++)
printf("*");
printf("\n");
printf("请输入一个整数");
printf("\n");
scanf("%d",a);
printf("\n");
for(c=1;c=30;c++)
printf("-");
printf("\n");
printf("请选择您要做的运算:1.+,2.-,3.*,4./5.abs,6.sqrt");
printf("\n");
for(c=1;c=30;c++)
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\ 下面。
分类: 电脑/网络 程序设计 其他编程语言
问题描述:
我写了个函数,想弄成库,怎么弄啊?
我只是把它定义到头文件中了,可是不行啊!
编译的时候编译器说是打不开这个头文件!
怎么办啊?
解析:
可以,只要实现文件也加到工程里面就可以了.
注意,工程要包含你的头文件和实现文件,这样你自己的函数库就可以在任何需要的工程中使用了.
可以,只要的程序调用的时候能找到函数的定义就可以了.所谓定义就是函数的具体实现程序.
你用的什么环境,我以前只会用TC弄,现在也有些忘了 .先用TCC命令生成OBJ,再用TLIB命令加到函数库,我记得好像不是哪个库都能加成功的,你试试那几个库,哪个可以.
哈哈,选我吧!库分静态库和动态链接库,静态库以lib结尾,被编译器里的链接器识别。windows下动态库以dll结尾,被操作系统加载以模块方式映射到进程地址空间。一般初学者先学会创建的是静态库。静态库是一个无需重定位的函数集。怎么做到无需重定位呢?这是编译器做的编译工作,例如它指定开头的位置作为基址,剩下的代码用到的都是相对偏移。这样,这段二进制代码可以被放在内存中的任何位置执行,被写入了lib文件里。在lib文件里,包含了函数名与函数地址组成的结构体,通过它编译器可以找到lib文件里需要的二进制代码并以静态联编的方式写入我们调用它的exe文件里。这种代码是被塞进exe文件里而无需修改,并在程序执行时被用到。为了让库被别人调用,我们可以写一个头文件.h,包含函数原型及声明。
1,写文件“*.h”,文件“*.c”,文件.c中为函数实现;文件.h中为文件声明;
2,把该函数编译为.dll的一个入口函数;
3,提供*.lib,*.dll,*.h,三个文件;
4,把*.dll放到Path目录下;
5,把*.lib包含入工程,*.h,include到工程;
6,可以使用你写的函数;