📄 00000006.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: zoei (雨霖霖), 信区: Linux <BR>标 题: 扔掉硬盘之无盘工作站指南(五) <BR>发信站: BBS 水木清华站 (Mon May 15 18:27:14 2000) <BR> <BR> <BR>在gcc-2.1.x中,strlen()及strcmp()函数定义及使用 <BR>在此源程序中的mknbi-mgl/mglparse.y文件不一样. <BR>一次编译便不能通过.解决办法是修改一下mglparse.y <BR> <BR>--- mknbi-mgl/mglparse.y.orig Sun Jan 3 21:38:29 1999 <BR>+++ mknbi-mgl/mglparse.y Tue Apr 11 12:34:19 2000 <BR>@@ -2373,7 +2373,7 @@ <BR> struct expr *ep; <BR> <BR> /* We need this for the code generator */ <BR>- static struct sym strlen = { <BR>+ static struct sym str_len = { <BR> funcsym, "", 0, -1, { <BR> { 0, 0, CMD_STRLEN, 1, &int_type, <BR> { &string_type }, <BR>@@ -2387,11 +2387,11 @@ <BR> exprtype($1) == EXPR_STRING && <BR> $3 != NULL && !strcmp($3->name, "len")) { <BR> ep = newexpr(); <BR> $3 != NULL && !strcmp($3->name, "len")) { <BR>- ep->type = strlen.def.f.ret; <BR>- ep->opcode = strlen.def.f.opcode; <BR>- ep->exprnum = strlen.def.f.argnum; <BR>+ ep->type = str_len.def.f.ret; <BR>+ ep->opcode = str_len.def.f.opcode; <BR>+ ep->exprnum = str_len.def.f.argnum; <BR> ep->exprlist[0] = reorg($1); <BR>- ep->spec.func = &strlen; <BR>+ ep->spec.func = &str_len; <BR> $$ = ep; <BR> break; <BR>上面中减号是指去掉相应的行,加号是指增加相应的行.(其实就是把strlen改成 <BR>str_len) <BR> <BR>修改完后,便可以编译通过了. <BR> <BR>to be continued... <BR> <BR>-- <BR>假如我有时间 <BR> 我会对你说:我爱你! <BR> 不过,我有时间吗? <BR> <BR>-- <BR>※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.118.74.64] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -