Chinaunix首页 | 论坛 | 博客
  • 博客访问: 309062
  • 博文数量: 40
  • 博客积分: 1
  • 博客等级: 民兵
  • 技术积分: 670
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-31 11:19
个人简介

从事银行核心系统设计开发的程序猿

文章存档

2019年(1)

2018年(4)

2017年(11)

2016年(6)

2015年(18)

分类: AIX

2017-08-26 12:12:05

最近在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,重新编译连接,解决了这个问题。


阅读(3224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~