gcc 静,动态库的生成及连接

文件目录:
code\main.c
#include <stdio.h>
#include "hello.h"
int main(){
const char* str = "hello";
printf( "%d\n", getLength( str ));
}
code\hello\hello.c
#include <string.h>
int getLength( const char* str ){
return strlen( str );
}
code\hello\hello.h
int getLength( const char* str );


GCC 编译,连接:
静态库:
当前目录:code\hello\
gcc -c hello.c -o hello.o 
ar cr libhello.a hello.o  生成静态库
当前目录:code\
方案1:gcc main.c -Ihello -Lhello -lhello -o main
方案2:gcc main.c -lhello -static-libgcc libhello.a -o main 
动态库:
当前目录:code\hello\
gcc hello.c -fPIC -shared -o libhello.so  生成动态库
当前目录: code\
方案1:gcc hello.c -Ihello -Lhello -lhello -o main
(在linux下需要将libhello.so的目录加到LD_LIBRARY_PATH (如:export
LD_LIBRARY_PATH=$LD_BRARY_PATH:.))
方案2:用linux下dlopen等函数( 待解决 )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值