linux网络编程的入门教程:单文件和多文件编译、静态链接库和动态链接库的生成

内容如下两部分:

1.使用gcc进行单文件和多文件编译。

2.使用ar生成静态链接库,使用gcc生成动态链接库。

 

1.首先启动vmware虚拟机进入Linux系统,打开vi编辑器,新建c源文件hello.c,内容如下:

#include <stdio.h> /*头文件包含*/

int main(void)

{  

  printf("Hello World!\n"); /*打印“Hello World!”*/

  return 0;

}

生成可执行文件:

# gcc hello.c     默认扩展名是a.out

      # ./a.out      运行

      # gcc –o test  hello.c    生成可执行文件test

# ./test

2.编译生成目标文件。

 #gcc c hello.c   默认生成同名的目标文件hello.o

3.多文件编译

准备如下两个源文件,

string.c内容如下:

#define ENDSTRING '\0' /*定义字符串*/

int StrLen(char *string)

{

  int len = 0;

    while(*string++ != ENDSTRING) /*当*string的值为'\0'时,停止计算*/

    len++;

  return len;   /*返回此值*/

}

main.c内容如下

#include <stdio.h>

extern int StrLen(char* str); /*声明Strlen函数*/

int main(void)

{

  char src[]="Hello Dymatic"; /*字符串*/

  printf("string length is:%d\n",StrLen(src)); /*计算src的长度将结果打印出来*/

  return 0;

}

将两个源文件编译成一个可执行文件test

#gcc o test string.c  main.c

#./test

4. 生成和使用静态链接库

首先生成string.c的目标文件string.o(参看前面步骤)。

将string.o打包为库文件libstr.a

# ar rcs  libstr.a  string.o

#gcc o test main.c   -lstr   该命令提示str库路径问题

改成  #gcc o test main.c  L.  -lstr

# ./test

5. 生成和使用动态链接库

将string.c打包为库文件libstr.so

#gcc    -fIPC  shared  -o libstr.so  string.o

#gcc –o test main.c  –L. -lstr

#./test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

What’smean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值