现在的位置: 首页 > 综合 > 正文

C++: Linux上静态库和动态库

2014年09月05日 ⁄ 综合 ⁄ 共 529字 ⁄ 字号 评论关闭

库由abc.h和abc.cpp组成:

~/cpp/mylib$ cat lib/abc.h

class Abc {

public:

   Abc();

   void log();

};

 

 

~/cpp/mylib$ cat lib/abc.cpp

//动态:g++  -shared -fPIC  -o libabc.so abc.h  abc.cpp

//静态:

//g++ -O -c abc.h abc.cpp

//ar -rsv libabc.a abc.o

#include "abc.h"

#include <stdio.h>

Abc::Abc() {

   printf("%s,%d\n",__FUNCTION__,__LINE__);

}

void Abc::log() {

   printf("%s,%d\n",__FUNCTION__,__LINE__);

 

测试文件abcmain.cpp:

cox@cox:~/cpp/mylib$ cat abcmain.cpp

//动态:g++  abcmain.cpp -o abcmain -labc

//静态:g++abcmain.cpp  -o abcmainstatic  -L ./ -labc

#include "abc.h"

int main() {

   Abc abc;

   abc.log();

}

抱歉!评论已关闭.