Chinaunix首页 | 论坛 | 博客
  • 博客访问: 706006
  • 博文数量: 759
  • 博客积分: 7000
  • 博客等级: 少将
  • 技术积分: 4775
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-22 15:16
文章分类

全部博文(759)

文章存档

2008年(759)

我的朋友

分类:

2008-09-25 15:55:53

小弟是一菜鸟,在TC下编写了个C程序,请各位大虾指点一下如何将其在linux下编译通过并运行?
主要可能是库函数的问题:

程序GRAPDB.c:
#include
#include
#include
#include
#include
main()
{ int gdriver,gmode,posi;
double Kdb=-4294967295;
double X,Y,G1,G2,C=1,a,R,K,S,A;
int N=600,i;
K=pow(10.0,(Kdb/10));
a=1/(2*(K+1));
srand((int)time(0));
gdriver=DETECT;
initgraph(&gdriver,&gmode,"c:\\turboc2\\bgi");
setbkcolor(BLUE);
cleardevice();
setcolor(10);
for(i=0;i {do
{X=1-2.0*rand()/32767;
Y=1-2.0*rand()/32767;
S=X*X+Y*Y;
}
while(S>=1);
G1=X*sqrt(-2*C*C*log(S)/S);
G2=Y*sqrt(-2*C*C*log(S)/S);
R=sqrt(a*((G1+sqrt(2*K))*(G1+sqrt(2*K))+G2*G2));
A=20*log10(R);
posi=240-8*A;
line(i,240,i,posi);
}
getchar();
closegraph();
}

在ubuntu下运行 gcc -o GRAPDB GRAPDB.c,错误如下:
GRAPDB.c:5:22: 错误: graphics.h:没有该文件或目录
GRAPDB.c: In function ‘int main()’:
GRAPDB.c:14: 错误: ‘DETECT’在此作用域中尚未声明
GRAPDB.c:15: 错误: ‘initgraph’在此作用域中尚未声明
GRAPDB.c:16: 错误: ‘BLUE’在此作用域中尚未声明
GRAPDB.c:16: 错误: ‘setbkcolor’在此作用域中尚未声明
GRAPDB.c:17: 错误: ‘cleardevice’在此作用域中尚未声明
GRAPDB.c:18: 错误: ‘setcolor’在此作用域中尚未声明
GRAPDB.c:31: 错误: ‘line’在此作用域中尚未声明
GRAPDB.c:34: 错误: ‘closegraph’在此作用域中尚未声明

程序中有#include Linux下好像没有这个库,请问该如何解决?
需要换函数库吗?如何修改代码?
跪谢各位大侠!!

--------------------next---------------------

阅读(314) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~