C++程序中引入.a(静态库)文件

来源:互联网 发布:淘宝页面设计 编辑:程序博客网 时间:2024/05/18 17:40

 因为有一些c程序用G++编译不过去,但是c++又比较的强大,于是有一个方法就是将c程序生成.a文件,通过静态库的方法引入c++中:

见程序RPC:

1,square.x

 

 

 

 

2,client.h

 

 

3, client.c

 

 

4, server.c

 

 

6, test_c_plus_plus.cpp

 

 

 

有square.x(RPC描述文件),client.h,client.c,server.c,test_c_plus_plus.cpp(引用client中方法测试)文件

执行步骤:

1,rpcgen square.x

2, gcc -c client.c square_clnt.c square_xdr.c

3, 生成静态库ar -rc libclientrpc.a *.o

4, 用G++:g++ test_c_plus_plus.cpp libclientrpc.a -lnsl -L. -I. -o testtest1

5, server不用静态库了,直接g++ server.c square_svc.c square_xdr.c -lnsl

7,运行./server

6,运行./client localhost 3 tcp

 

其中注意:因为G++是C++编译器,所以要将client.c相应的头文件中方法声明时候要加入extern "C"