gcc版本3.2 link oracle的库libclntsh.so时报以下错误: ld: 致命的: 文件 /export/home/oracle/app/oracle/product/9.0.1/lib//libclntsh.so: 错误的 ELF 类型: ELFCLASS64
请问怎么可以看到我的库函数是32位版本还是64位版本? 因为我的编译老找不到一个库,我已经加了SHLIB_PATH和LD...的路径, 并且在路径下有这个库,我用32位编译没问题,用64位编译就报找不到库,我怀疑那个库是32位版本的,但是不知道用什么命令可以看它的位数,不知道ld或adb能看到吗?
在看源码的时候发现了很多这样的代码: [code]void initialize PARAMS ((void)); void run_command PARAMS ((const char *)); void setoptval PARAMS ((const char *, const char *, const char *)); char *home_dir PARAMS ((void)); void cleanup PARAMS ((void));[/code] PARAMS的定义为: [code]#define PARAMS(args) args[/code] 请问加了这个PARAMS宏有啥好处啊? [ 本帖最后由 zhongnian 于 2006-11-19 21:24 编辑 ]
struct a { unsigned short value, mask; ????? * fun(); }; struct a b[]={{......},{.......}.......}; 结构a是数组b的一个元素,而a是结构,a其中包含一个函数指针(返回值为unsigned long),数组每个结构中的函数都不同,参数数也不同.问题在于怎么去声明结构a中的函数呢?或有无其它更好的方法?
各位大虾: 我在64位RS6000上,使用fseek函数,出现了问题,好象此函数只能在32位机上使用,想请教一下,有没有能在64位机上使用的相似功能的函数?