【问题标题】:How to create a shared library out of a C program?如何从 C 程序中创建共享库?
【发布时间】:2016-05-28 08:44:04
【问题描述】:

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

【问题讨论】:

    标签: c shared-libraries


    【解决方案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
    

    表示它的 API 版本是 1.0.0。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-03
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2021-11-01
      • 1970-01-01
      相关资源
      最近更新 更多