- 论坛徽章:
- 0
|
AIX Version 5.3
xlC 版本
xlC -qversion=verbose
IBM XL C/C++ Enterprise Edition for AIX, V9.0
Version: 09.00.0000.0000
Driver Version: 09.00(C/C++) Level: 070425a
C Front End Version: 09.00(C/C++) Level: 070425
C++ Front End Version: 09.00(C/C++) Level: 070425
High-Level Optimizer Version: 09.00(C/C++) and 11.01(Fortran) Level: 070428
Low-Level Optimizer Version: 09.00(C/C++) and 11.01(Fortran) Level: 070427
现象: 弄一单独的.cpp ,里面弄一vector <string> vs 用 vs.push_back( "abcd") 编译执行都是正常的结果。
在另一地方带informix 数据库也是xlC 编译,也是vector <string> 的push_back 3次 ,看vs.size()有值=3 ,打印vs[0] vs[1] vs[2]却是空的。
一个map<string,string> mymap; 也是能编译,却不能用 mymap["abc"]="123"; 得到正确结果。
用mymap.insert( make_pair("abc","123)) 却能得到正确结果。
string 变量的 str=str1+str2; 也不能得到正确结果。
编译都能成功。运行不正常,这是编译器的错误呢还是另外有什么神奇参数可以控制?
请有经验的TX不吝指教,谢谢。
xlC -qcpluscmt -qrtti=all -q64 l -DIBM_AIX64 -DINFORMIX DDEBUG -c -w -I. -I./include -I/informix/incl/esql -I/home/tuxedo/include myprog.C
xlC -qchars=signed -q64 -qlanglvl=ansi -qalign=natural -qcheck=nullptr -qmaxmem=-1 -qspill=2000 -D_H_LOCALEDEF -g -I/informix/incl/esql -brtl -o myso.so myprog.o -q64 -L/usr/vacpp/ib -lC -qrtti=all -blibpath:/usr/vacpp/lib:/usr/lib:/lib -L/home/tuxedo/lib -L/informix/lib -L/informix/lib/esql -L/usr/lib -L/usr/lib/CC -L/informix/lib/c++ -lxti -lm -lc /home/tuxedo/lib/tpinit.o -lifsql -lifasf -lifgen -lifos -lifgls -lifglx /informix/lib/esql/checkapi.o -lifdmi -lifc++ -lxml -ltux -lengine -lwsc -lfml -lfml32 -lbuft -lnsl -liconv -qmkshrobj -L/informix/lib -L/informix/lib/esql -lifsql -lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl -lm_r /informix/lib/esql/checkapi.o -lifglx
|
|