摘要:        
简单例子如下:#include "Ice/Ice.h"#include "IceUtil/IceUtil.h"#include "Printer.h"using namespace std;using namespace Hello;class MyClass;typedef IceUtil::Handle MyClassPtr;class MyClass : public IceUtil::Shared{public: MyClass( int i) : _i(i){ { ...    阅读全文
        
            posted @ 2013-10-18 00:30
good90
阅读(1067)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
在linux下使用动态库时,经常会发现明明编译时指定的是libA.so,可是程序运行时或通过ldd查看依赖却是libA.so.XXX,原因跟linux下so库的soname有关,查看so库的soname可以通过命令:readelf -d libXXX.so看到;具体使用见下面的例子。编译命令:g++ -fPIC -shared -Wl,-soname,libhello.so.1 -o libhello.so.1.1 hello.cppreadelf -d libhello.so.1.1g++ test.cpp -L. libhello.so.1.1 -o test    阅读全文
        
            posted @ 2013-10-18 00:17
good90
阅读(2201)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
记录下:Linux下导出so库接口时在下面情况下无法导出(编译时增加了__attribute__(("hidden"))属性)。void *__attribute__(("default")) test()这样该编译出的so库中test函数还是Local属性的,必须这样声明__attribute__(("default"))void * test()才可以导出GLOBAL属性的。参考:http://seekingfun.org/blog/2010/08/09/gcc-visibility/    阅读全文
        
            posted @ 2013-10-18 00:07
good90
阅读(648)
评论(0)
推荐(0)
        
        
                    
                
浙公网安备 33010602011771号