91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux動態鏈接

發布時間:2020-08-04 00:10:27 來源:網絡 閱讀:560 作者:onecan2009 欄目:系統運維

1, 編譯,使用-shared和-fpic 生成動態鏈接庫
庫源碼:test.c

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

static void printline(int len)
{

    int i;

    for(i = 0;i<len;i++)
    {
        printf("=");        
    }
    printf("\n");
}

void print(char * s)
{   
    int len = 0;
    int  i = 0;
    if(!s || *s == '\0')
    {
        return ;
    }

    len = strlen(s);
    printline(len);
    printf("%s\n",s);
    printline(len);
}

頭文件:test.h

#ifndef __TEST_H__
#define __TEST_H__

void print(char * s);

#endif

編譯庫文件:

gcc test.c -shared -fpic -o libtest.so

2.編譯測試代碼

測試代碼:main.c

#include "test.h"

int main()
{
    char teststr[] = "hello world";

    print(teststr);

    return 0;

}

編譯測試代碼

    gcc  main.c -L./ -ltest -o main

3.運行

當運行時,發現找不到庫文件
./main: error while loading shared libraries: libtest.so: cannot open shared object file: No such file or directory

這個是linux庫文件搜索路徑的問題,有兩個解決方式

  1. 在/etc/ld.so.conf.d/下編寫配置文件,指定庫路徑,然后使用ldconfig去刷新緩存
  2. 在執行前設置環境變量 LD_LIBRARY_PATH,指定當前的路徑,再去執行時,則現在本地去搜索
root@GFD:~/workspace/so_test# export LD_LIBRARY_PATH=./
root@GFD:~/workspace/so_test# ./main
===========
hello world
===========
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河源市| 腾冲县| 鹤壁市| 荥经县| 临清市| 栾川县| 安平县| 浦北县| 磐石市| 兴宁市| 贵德县| 公安县| 眉山市| 米林县| 博湖县| 兰坪| 平和县| 应城市| 河南省| 凯里市| 达州市| 富民县| 淮阳县| 永定县| 漳平市| 汽车| 湄潭县| 中山市| 卫辉市| 财经| 布拖县| 陈巴尔虎旗| 刚察县| 乐昌市| 内丘县| 双流县| 夏河县| 延庆县| 嘉兴市| 会昌县| 宁阳县|