« C程序的64位IO支持 »
Developer » http://www.anysql.net/developer/gcc_aix_64bit_io.html 2009-03-18今天发现编译的AIX版本的ociuldr导出时, 文件生成到2GB后就不增长了, 看来是没有启用64位的IO支持. 去搜索了一下, 发现要支持这个功能, 用的编译选项是不一样的, AIX下的为:
gcc -D_LARGE_FILES ......
而Linux下则是:
gcc -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 ......
以为AIX下和Linux下是一样的, 就用了Linux一样的编译选项, 以为就支持64位IO了, 还好从没有人用过AIX下的AUL去恢复过. Windows下, 用Visual C++编译时是默认支持的. 不用加什么选项. Borland C++编译器据说在代码优化方面效率很高, 但不知道如何支持64位的IO.
其他Unix平台的就不知道是什么选项了, 由此看来主流的Unix平台之间可能还是不一样的, 有环境时一个一个试过来吧. 经常发现以为自已懂了, 最后却错了.


天天进步. Learn something things new every day.