我正在尝试从我的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
答案 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。