如何从C程序创建共享库?

时间:2016-02-16 21:23:35

标签: c shared-libraries

我正在尝试从我的C程序中创建一个共享库。我怎么做? 我认为你需要这个程序,所以这里是:

#include "defs.h"
#include "externs.h"


int CheckPrime(int K){

int J;

J = 2;
while (1)  {
  if (Prime[J] == 1)
     if (K % J == 0)  {
        Prime[K] = 0;
        return 0;
     }
  J++; 
break;
}


Prime[K] = 1; 
}

我也制作了一个Makefile,我可以用它来做吗?:

# -----------------------------------
# ------ executable rule  -----------
# -----------------------------------
app : app.o
    -gcc -g  app.o -o app

# ---------------------------------------------------
# ------ intermeditate object files rule (.o) -------
# ---------------------------------------------------
app.o : main.c
     -gcc -g -c main.c -o app.o

1 个答案:

答案 0 :(得分:1)

是的,只需将-shared标记添加到 gcc

gcc -g -shared app.o -o libapp.so

您还可以使用soname选项来控制版本控制,例如

gcc -g -shared -Wl,-soname,libapp.1.0.0.so app.o -o libapp.so

表示它的版本是1.0.0 API。