易码技术论坛

 找回密码
 加入易码
搜索
查看: 415588|回复: 15

为什么这代码唯独通不过LAVAXIDE的编译?(关系EWAY软件FOR TC800能否做出来)

[复制链接]
发表于 2006-5-4 20:27:00 | 显示全部楼层
没问题啊。

确认你使用的是否最新版LavaXIde
 楼主| 发表于 2006-5-4 20:32:00 | 显示全部楼层
新版的(2006版)哪里下?LAVA8里找不到?
发表于 2006-5-4 20:38:00 | 显示全部楼层
可以通过lava2编译、认证,完全没问题!
发表于 2006-5-4 20:42:00 | 显示全部楼层
可以通过lavax2006编译、认证。
下载地址

http://www.lava8.com/down/show.php?id=28
 楼主| 发表于 2006-5-4 20:59:00 | 显示全部楼层
下载了,但它这样说:



这是怎么回事?以前从LAVA8下载也时常如此。

 楼主| 发表于 2006-5-6 14:34:00 | 显示全部楼层

编译错误的情况是这样的。
发表于 2006-5-6 16:39:00 | 显示全部楼层
会不会是你的电脑的问题?
发表于 2006-5-6 17:16:00 | 显示全部楼层
我这里报错"错误的读写地址0"

IDE是2006版的
发表于 2006-5-6 17:33:00 | 显示全部楼层
原因是没有加  void main(){}

[em01]

其实这段代码用2006版IDE没有报错的,只是getword()函数灭有用只能输入数字和字母

[此贴子已经被作者于2006-5-7 6:16:49编辑过]

发表于 2006-5-6 19:21:00 | 显示全部楼层
怎么没有main?

这是什么:

void main(){
stri(1,"lavax");
printf("\n%s",str);
}
发表于 2006-5-6 19:30:00 | 显示全部楼层
E路客用的不是LavaXIde最新版

最新版的lvm.exe的图标显示Lvm字样,而不是Zero
发表于 2006-5-6 19:34:00 | 显示全部楼层
另外,楼主在选择“调试”->“Go”后进行静态认证才会出现那个信息。这种做法是错误的。

静态认证只认证release版,就是选择“编译”生成的代码。
 楼主| 发表于 2006-5-8 10:26:00 | 显示全部楼层
我在6楼提到的问题解决了。但我用了5楼提供的2006版,还是有这问题,而且我还换了一台电脑(学校的,XP系统)。

我还发觉用GO调试永远有这问题,看来调试的做法确实是错误的。

但是按编译->编译*.txt却永不生成.lav文件(应该生成在.txt文件的同目录下吧 ),这才是关键问题,怎么办?
发表于 2006-5-8 10:35:00 | 显示全部楼层
调试生成的文件不能用于除电脑外的其他LavaX平台!

应该选择编译生成。

编译生成的.lav文件在LavaXIde安装目录的lav文件夹。
 楼主| 发表于 2006-5-13 17:50:00 | 显示全部楼层
终于解决了,原来是因为我不会用LAVAXIDE,汗!……以前为了编译GetWord一直在用GVM的。

谢谢Lee老师,谢谢各位帮助我的热心朋友。
 楼主| 发表于 2006-5-4 19:37:01 | 显示全部楼层 |阅读模式
我在做EWE for TC800 时发现代码通不过LavaX IDE 3.1 编译(早就发现了,今天才问出来),问题是它竟然没有报错,就是不生成LAV文件,按调试可以运行,但认证通不过。问题出在哪儿?其他编译器就没这个问题。请大家帮我看看。这关系着EWAY软件FOR TC800能否做出来。

以下是其中一例,只要告诉我为什么有这问题就行了。谢谢。

char str[150];
///////////////////////////
void stri(char y,int o){
char ch[3];
int word,n,l;
memset(str,0,19);memset(ch,0,3);strcpy(str,o);n=strlen(str);
while(ch[0]!=13){
  l=strlen(str);
  Locate(4,0);printf("                    ");
  Locate(y,0);printf("%s  ",str);Box(8*n,16*y,8*n+1,16*y+16,1,2);
  word=getchar();
  ch[0]=word;
  if(isprint(ch[0])&&l<18){memmove(str+n+1,str+n,l-n);str[n]=ch[0];n++;}
  else if(ch[0]>=160&&l<17){ch[1]=word>>8;memmove(str+n+2,str+n,l-n);memcpy(str+n,ch,2);n=n+2;}
  else if(ch[0]==27){strcpy(str,"");return;}
  else if(ch[0]==29&&n>0){
    if(str[n-1]>=160){memmove(str+n-2,str+n,l-n);memset(str+l-2,0,2);n=n-2;}
    else {memmove(str+n-1,str+n,l-n);str[l-1]=0;n--;}
  }
  else if(ch[0]==23){
    if(n==0)n=l;else if(str[n-1]>=160)n=n-2;else n--;
  }//if完
  else if(ch[0]==22){
    if(n>=l)n=0;else if(str[n]>=160)n=n+2;else n++;
  }//if完
}//while完
}

//////////////////////////
void main(){
stri(1,"lavax");
printf("\n%s",str);
}
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-13 03:55 , Processed in 0.011584 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表