免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4143 | 回复: 11
打印 上一主题 下一主题

请教一个cc编译的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-04 10:42 |只看该作者 |倒序浏览
小弟我是用不惯cc的。写了一个proc程序,编译成了.c的文件,没有问题
再用cc一编,考,报了一大堆,如下:
"1.pc", line 3.1: 1506-166 (S) Definition of function include requires parentheses.
"1.pc", line 3.9: 1506-276 (S) Syntax error: possible missing '{'?
"1.pc", line 33.16: 1506-056 (S) Break statement cannot be placed outside a while, do, for, or switch statement.
"1.pc", line 44.9: 1506-057 (S) Continue cannot be placed outside a while, do, or for statement.
"1.pc", line 45.9: 1506-045 (S) Undeclared identifier notfound.
"1.pc", line 51.1: 1506-505 (S) Type "struct sqlca" of identifier "sqlca" was incomplete at the end of its scope.
我想我的make应该没有写错的,如下
rm 1
rm 1.o
rm 1.c
cc -I. -I/oracle/product/8.1.5/precomp/public -I/oracle/product/8.1.5/rdbms/public -I/oracle/product/8.1.5/network/public -c 1.c
cc -o 1 1.o -L/oracle/product/8.1.5/lib/ -lclntsh -lcurses
rm 1.o
rm 1.c
使用的是 C for AIX Compiler, Version 5;AIX Version 4
小程序能编过

想请教:
1,我怎么去获得错误信息的原因解释
2,上述错误为何原因

谢谢您的指点

论坛徽章:
0
2 [报告]
发表于 2003-04-04 11:14 |只看该作者

请教一个cc编译的问题

括号'{'不匹配。

rm 1
rm 1.o
rm 1.c /*这里为什么要删掉1.c???*/
cc -I. -I/oracle/product/8.1.5/precomp/public -I/oracle/product/8.1.5/rdbms/public -I/oracle/product/8.1.5/network/public -c 1.c
cc -o 1 1.o -L/oracle/product/8.1.5/lib/ -lclntsh -lcurses
rm 1.o
rm 1.c

论坛徽章:
0
3 [报告]
发表于 2003-04-04 11:28 |只看该作者

请教一个cc编译的问题

那个是我笔误。注掉了一样,我再来贴一个
rm 1
rm 1.o
rm 1.c
proc lines=yes iname=1.pc parse=partial
cc -I. -I/oracle/product/8.1.5/precomp/public -I/oracle/product/8.1.5/rdbms/public -I/oracle/product/8.1.5/network/public -c 1.c
cc -o 1 1.o -L/oracle/product/8.1.5/lib/ -lclntsh -lcurses
rm 1.o
rm 1.c

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-04-04 11:32 |只看该作者

请教一个cc编译的问题

删除生成的*.c文件,用proc的编译器直接编译成可执行程序就行了,不用来回转化(*.pc->;*.c->;target),当然你要是这么做也可以。

论坛徽章:
0
5 [报告]
发表于 2003-04-04 11:38 |只看该作者

请教一个cc编译的问题

谢谢你,能不能再给我点量化的提示啊

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-04-04 12:18 |只看该作者

请教一个cc编译的问题

#编译pc文件为c文件
proc include= filename.pc
#编译c文件,生成目标文件
cc -I$ORACLE_HOME/precomp/public -c filename.o filename.c
#连接目标文件,生成可执行程序
cc -L$ORACLE_HOME/lib -lclntsh -o filename filename.o
example
#使用pl/sql块时必须设置sqlcheck
rm model_exe.c
proc include=${TUXDIR}/include model_exe.pc SQLCHECK=FULL userid=scott/tiger
rm model_exe.o
cc -I$ORACLE_HOME/precomp/public -I$TUXDIR/include -c model_exe.o model_exe.c
rm model_exe
cc -L$ORACLE_HOME/lib -lclntsh -o model_exe model_exe.o

论坛徽章:
0
7 [报告]
发表于 2003-04-04 12:31 |只看该作者

请教一个cc编译的问题

从错误信息看,我觉得.pc——>;.c的语法分析就错了,报的是1.pc中的错。
错误原因就是少{或者)或者>;,其他错误由第1、2条引起的。

论坛徽章:
0
8 [报告]
发表于 2003-04-04 13:28 |只看该作者

请教一个cc编译的问题

.pc", line 33.16: 1506-056 (S) Break statement cannot be placed outside a while, do, for, or switch

应该是使用了 exec sql whenever ... do break
过了for 后没有使用
exec sql whenever ... do continue


exec sql whenever ... do break
定义后下面的语句都会执行这个
一直到文件尾

还有其它错误自己看看pc文件中对应行

论坛徽章:
0
9 [报告]
发表于 2003-04-04 14:54 |只看该作者

请教一个cc编译的问题

久不通函,至以为念

论坛徽章:
0
10 [报告]
发表于 2003-04-04 16:05 |只看该作者

请教一个cc编译的问题

proc用得太多了,没有好的方法调试
用最经典的,注释语句/* xxxx */,大面积大面积的注释然后编译,编译通过就释放一点注释语句,直到所有代码编译通过;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP