ITPub博客

首页 > Linux操作系统 > Linux操作系统 > AIX环境informix的esql与xlc混合编译对齐问题

AIX环境informix的esql与xlc混合编译对齐问题

原创 Linux操作系统 作者:pacman2000 时间:2017-08-26 12:12:46 0 删除 编辑

最近在AIX环境下,使用esql编译ec/ecpp形成的.o和xlc/xlC编译普通c/cpp形成的.o进行连接,运行时发现不同.o调用传递struct结构参数访问会有错位。

排除了程序本身的原因,最后发现是AIX下esql和xlc编译时默认结构对齐编译参数设置是不同的。

esql编译时,可以用esql -v查看,发现-qalign=nature,而根据xlc帮助,默认-qalign=power,两者是不同的。

由于esql编译形成的.o在其他项目已经在使用,因此修改了c/cpp的makefile,加上参数-qalign=nature,重新编译连接,解决了这个问题。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/283313/viewspace-2144180/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
从事银行核心系统设计开发的程序员

注册时间:2010-03-16

  • 博文量
    44
  • 访问量
    56061