解决方案 »

  1.   

    aCC编译器
    1)  -AA   全面支持C++(HPUX PA上编译C++时的必须选项)
    2)  -V   查看版本
    3)  +DD64    编译64位程序
    4)  +DAportable   跨版本编译
    5)  -lpthread  支持POSIX线程
    6)  -lrt   支持POSIX消息队列
    7)  -D_REENTRANT  支持localtime_r,time_r,asctime_r (要想errno支持多线程安全,也需加这个)
    8)  -D_INCLUDE__STDC_A1_SOURCE    支持Unicode(wprintf)
    9)  -D_INCLUDE_LONGLONG   支持long long类型
    10) -D_RWSTD_MULTI_THREAD 当链接使用线程库(-lpthread 或 -mt) 时,如果代码有用到 std库,则要加这选项
    特别选项:
    1)缺省情况下,在umap之前,一个进程不能第二次mmap同一地址
    • 编译时候改变地址映射方式,使用
    − aCC –Wl,+as, +mpas,
    2)对齐方式,为了提升性能,每个变量的地址应该是其长度的整数倍
      比如int 长度4  如果地址是0x…..02  将会Core Dump, bus error
      #pragma pack 1/2/4/8
      aCC +u1/+u2/+u4
    用POSIX的话,要用 -lrt 库
    11) 续行符 \ 后面不能加空格 
    添加 -D_RWSTD_MULTI_THREAD后解决问题
      

  2.   

    m_conn = m_env->createConnection("zhkz", "zhkz", "gk0");
    里面使用ustring变量试试看。ustrHostname.resize(sstrHostname.length());
    for (int i = 0; i < sstrHostname.length(); i++)
           ustrHostname[i] = (unsigned short)sstrHostname[i];