Linux和Aix编译生成及使用静态库,动态库

现有源文件:

//Hello.h
#include <stdio.h>
void printhello();


//Hello.c
#include <stdio.h>
void printhello()
{
  puts("Hello World1111!");
}

//Test.c
#include "Hello.h"
int main()
{
  printhello();
  return 0;
}

Linux下使用gcc生成静态库并使用

//生成.o文件
gcc -o Hello.o -c Hello.c
//打包
ar -rc libHello.a Hello.o
//依赖编译生成可执行文件
gcc -o main test.c -L. -lHello

./main
Hello World1111!

Linux下使用gcc生成动态库并使用

//生成动态库
gcc -o libHello.so -fPIC -shared Hello.c
//编译依赖
gcc -o main test.c -L. -lHello
//将生成的动态库移至lib目录
mv libHello.so /usr/lib
//刷新缓存
ldconfig
//执行该文件
./main
Hello World1111!


AIX下使用cc生成静态库并使用

cc -o Hello.o -c Hello.c

ar crs libHello.a Hello.o

cc -o main -L. -lHello test.c

AIX使用cc生成动态库并使用

cc -qmkshrobj -o libHello.so hello.c
cc -o main -L. -lHello -brtl test.c

AIX指定位数编译

cc -q64/ar -X64

查询文件符号

ar -t libHello.a

ar -t -X64 libHello.a

nm -D libHello.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值