论坛: 编程破解 标题: 为什么我在TC2.0里不能实现这个程序呢???y 复制本贴地址    
作者: 恒行天下 [lgywan]    论坛用户   登录
为什么我在TC2.0里不能实现下面的程序呢?,TC2.0说错误: (flaowe是我给它取的文件名)
  
        Error e:\tc\tc\flaowe.c 56: IN-line assembly ont allowed in function main
        Error e:\tc\tc\flaowe.c 81: IN-line assembly ont allowed in function main
       
为什么会这样呀???!!!

#include<math.h>
#include<mem.h>
#include<dos.h>
#include<stdlib.h>

#define p_num 2000

struct _Particle
{
    float vx,vy,ax,ay,x,y;
    unsigned char c;
};

void SetColor(int c,int r,int g,int b)
{
    outportb(0x3c6,255);
    outportb(0x3c8,c);
    outportb(0x3c9,r>>2);
    outportb(0x3c9,g>>2);
    outportb(0x3c9,b>>2);
}

char far *GetBuffer(long x,long y)
{
    return (char far *)(0xa0000000L+x+y*320);
}

void blur()
{
    unsigned char far *p, far *q;
    for(p=GetBuffer(1,1),q=GetBuffer(318,198);p<q;p++) *p=*(p-1)+*(p+1)+*(p-320)+*(p+320)>>2;
}

void main()
{
    struct _Particle pg[p_num];
    float fcos,fsin,t=0.01,angle=0.0;
    float RGB[256][3];
    int i;
    int dx,dy;

    memset(pg,0,p_num*sizeof(struct _Particle));
    for(i=0;i<p_num;i++)
    {
        pg[i].x=160;
        pg[i].y=100;
        pg[i].c=255;
        pg[i].ax=rand()%10191/1000.0-5;
        pg[i].ay=rand()%8191/1000.0-4;
    }
    for(i=0;i<256;i++) RGB[i][0]=sqrt(i)/16.0;
    for(i=0;i<256;i++) RGB[i][1]=pow(i,0.7)/48.5;
    for(i=0;i<256;i++) RGB[i][2]=(i*i)/65536.0;

    _AX=0x13;
    asm int 0x10;  ‘这里提示出错

    for(i=0;i<256;i++) SetColor(i,RGB[i][0]*256,RGB[i][1]*256,RGB[i][2]*256);

    while(inportb(0x60)!=1)
    {
        fcos=cos(angle);
        fsin=sin(angle);
        for(i=0;i<p_num;i++)
        {
            pg[i].vx+=pg[i].ax*t;
            pg[i].vy+=pg[i].ay*t;
            pg[i].x+=pg[i].vx*t;
            pg[i].y+=pg[i].vy*t;
            dx=(pg[i].x-160)*fcos-(100-pg[i].y)*fsin+160;
            dy=(pg[i].x-160)*fsin+(100-pg[i].y)*fcos+100;
            if(dx>0&&dx<319&&dy>0&&dy<199) *GetBuffer(dx,dy)=pg[i].c;
            if(dx<0||dx>=320) pg[i].vx=-pg[i].vx;
            if(dy<0||dy>=200) pg[i].vy=-pg[i].vy;
        }
        blur();
        angle+=0.01;
    }

    _AX=0x03;
    asm int 0x10;  ‘这里提示出错,为什么?
}




[此贴被 恒行天下(lgywan) 在 08月08日20时22分 编辑过]

地主 发表时间: 04-07-25 13:11

回复: Garu [syshunter]   版主   登录
下载的TC要设置下库文件路径

B1层 发表时间: 04-07-25 13:23

回复: 寒枫 [bug_me]   论坛用户   登录
检查一下TC里的目录设置

B2层 发表时间: 04-07-25 13:25

回复: 恒行天下 [lgywan]   论坛用户   登录
我把路径改了,也保存了,可是还是有能实现,还是这样,请问为什么呀

B3层 发表时间: 04-07-25 14:06

回复: Frankiez [frankiez84]   论坛用户   登录
那说明你的TC头文件库不全

B4层 发表时间: 04-07-26 08:04

回复: 剑圣风暴 [qiezic]      登录
好好久没接触C了!
对于C的图形编程我都忘的差不多了!不知你上面那些代码有没与图形编程有关?
如果有关的话,可能是你没初始化显卡(术语我忘了怎么说来的,Sorry!)

B5层 发表时间: 04-07-28 13:02

回复: 恒行天下 [lgywan]   论坛用户   登录
它说打不开这个文件呀,可是明明是有这个文件的,目录设置也是对的呀

B6层 发表时间: 04-08-02 16:10

回复: Garu [syshunter]   版主   登录
那还是路径没设置好,实在不行就用LCC或VC吧

B7层 发表时间: 04-08-02 19:53

回复: 月之御者 [kert_t8]   论坛用户   登录
实在不行你在机器里找找有没有这几个文件,有的话就把他们拷到程序的当前目录下,每有的话就没有了哦

B8层 发表时间: 04-08-04 20:49

回复: 蓝阳南春 [apollomz]   论坛用户   登录
库的路径不对,
可以放到c盘
c:\tc这种形式就可以了, 要不你就该以下路径,指向目前库文件所在路径。

B9层 发表时间: 04-08-06 14:41

回复: 恒行天下 [lgywan]   论坛用户   登录
解决了前面四个路径问题,可是还有下面二个问题: Error e:\tc\tc\flaowe.c 56: IN-line assembly ont allowed in function main
  Error e:\tc\tc\flaowe.c 81: IN-line assembly ont allowed in function main

不知道这二个是什么问题呀


B10层 发表时间: 04-08-08 20:18

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号