PROC预编译过程中碰到的莫名问题,一个PC文件中有/**/注释的时候,
有几处地方会不能正常预编译。另外一些地方的中文注释语句却又可以正常预编译,
比较莫名,有人知道是什么问题么?
===================================
if (Modify_Flag[0] == '0')
{ /*添加*/ EXEC SQL SELECT count(*) INTO :iCount FROM tab_test; if (SQLCODE)
{
...
}
}
=================================
经过proc 预编译后 .c 文件 上面里面仍然是这样的,gcc 当然就报说EXEC未定义了
但是如果将/*添加*/改成 /*添加a*/
.c文件就正常的预编译为
===================================
if (Modify_Flag[0] == '0')
{ /*添加a*/ /* EXEC SQL SELECT count(*) INTO :iCount FROM tab_test
*/ {
struct sqlexd sqlstm;
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select count(*) into :b0 from tab_test .....
===================================编译环境:
RH AS 4Pro*C/C++: Release 9.2.0.4.0
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.3)
makefile
===================================
CC=gcc $(CFLAGS) -I$(INCLUDEPATH4)PC=$(ORACLE_HOME)/bin/proc userid=oruser/iroapas sqlcheck=semantics def_sqlcode=yes \
include=$(INCLUDEPATH4) parse=none dynamic=ansi mode=ansi MAINOBJ=xxxx.oor_main:$(MAINOBJ)
$(CC) -o $(BINPATH)/$@ $? $(ORACLE_HOME)/lib/libclntsh.so%.c: %.pc
$(PC) iname=$*.pc oname=$*.c
.c.o:
$(CC) -c $<
clean:
rm -f *.o *.lis
===================================
有几处地方会不能正常预编译。另外一些地方的中文注释语句却又可以正常预编译,
比较莫名,有人知道是什么问题么?
===================================
if (Modify_Flag[0] == '0')
{ /*添加*/ EXEC SQL SELECT count(*) INTO :iCount FROM tab_test; if (SQLCODE)
{
...
}
}
=================================
经过proc 预编译后 .c 文件 上面里面仍然是这样的,gcc 当然就报说EXEC未定义了
但是如果将/*添加*/改成 /*添加a*/
.c文件就正常的预编译为
===================================
if (Modify_Flag[0] == '0')
{ /*添加a*/ /* EXEC SQL SELECT count(*) INTO :iCount FROM tab_test
*/ {
struct sqlexd sqlstm;
sqlstm.sqlvsn = 12;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select count(*) into :b0 from tab_test .....
===================================编译环境:
RH AS 4Pro*C/C++: Release 9.2.0.4.0
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.3)
makefile
===================================
CC=gcc $(CFLAGS) -I$(INCLUDEPATH4)PC=$(ORACLE_HOME)/bin/proc userid=oruser/iroapas sqlcheck=semantics def_sqlcode=yes \
include=$(INCLUDEPATH4) parse=none dynamic=ansi mode=ansi MAINOBJ=xxxx.oor_main:$(MAINOBJ)
$(CC) -o $(BINPATH)/$@ $? $(ORACLE_HOME)/lib/libclntsh.so%.c: %.pc
$(PC) iname=$*.pc oname=$*.c
.c.o:
$(CC) -c $<
clean:
rm -f *.o *.lis
===================================
(我以前是在日语环境下,oracle8/9)