Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Teknik konfigurasi biasa untuk melaksanakan perpustakaan pautan dinamik di bawah Linux
Teknik konfigurasi biasa untuk melaksanakan perpustakaan pautan dinamik di bawah Linux
Pustaka Pautan Dinamik (DLL) ialah kod dan perpustakaan sumber yang boleh dikongsi antara berbilang program. Dalam sistem Linux, perpustakaan pautan dinamik dipanggil perpustakaan kongsi (Perpustakaan Dikongsi) Dengan mengasingkan kod dan sumber daripada program, kebolehgunaan semula kod dan kecekapan berjalan program boleh dipertingkatkan. Artikel ini akan memperkenalkan teknik konfigurasi biasa untuk melaksanakan perpustakaan pautan dinamik di bawah Linux dan memberikan contoh kod yang sepadan.
1. Buat perpustakaan pautan dinamik
Dalam sistem Linux, mencipta pustaka pautan dinamik memerlukan langkah berikut:
Berikut ialah contoh mudah yang menunjukkan cara membuat perpustakaan pautan dinamik ringkas:
Pertama ialah kod sumber perpustakaan pautan dinamik, kami mencipta fail bernama libhello.c, yang mengandungi fail bernama hello Fungsi:
#include <stdio.h> void hello() { printf("Hello, World! "); }
Langkah seterusnya ialah skrip kompilasi Makefile, kandungannya adalah seperti berikut:
CC = gcc CFLAGS = -Wall -shared -fPIC libhello.so: libhello.c $(CC) $(CFLAGS) $^ -o $@
Laksanakan perintah make
pada baris arahan untuk menjana perpustakaan pautan dinamik libhello.so. make
命令,即可生成动态链接库libhello.so。
二、使用动态链接库
使用动态链接库同样需要几个步骤:
以下是一个简单的示例,展示了如何使用刚刚创建的动态链接库:
首先是使用动态链接库的源代码,我们创建一个名为main.c的文件,其中包含调用动态链接库中的hello函数的代码。
#include <stdio.h> #include "libhello.h" int main() { hello(); return 0; }
接下来是编译脚本Makefile,内容如下:
CC = gcc CFLAGS = -Wall -L. -lhello main: main.c $(CC) $(CFLAGS) $^ -o $@
在命令行中执行make
Konfigurasikan pilihan pautan: Tambahkan pilihan pautan untuk perpustakaan pautan dinamik semasa menyusun dan memautkan kod.
make
pada baris arahan untuk menjana fail utama boleh laku. Jalankan program ini dan anda akan melihat "Hello, World!" 3. Petua konfigurasi biasa untuk perpustakaan pautan dinamikKawalan versi perpustakaan pautan dinamik
Untuk memudahkan kawalan versi perpustakaan pautan dinamik, anda boleh menambah nombor versi pada nama perpustakaan pautan dinamik. Contohnya, libhello.so boleh ditukar kepada libhello.so.1, yang mewakili perpustakaan pautan dinamik dengan nombor versi 1. Pada masa yang sama, anda juga boleh menggunakan -fvisibility=hidden semasa penyusunan untuk menyembunyikan simbol dalam perpustakaan pautan dinamik yang tidak perlu didedahkan kepada dunia luar.Konfigurasi laluan perpustakaan pautan dinamik
Atas ialah kandungan terperinci Teknik konfigurasi biasa untuk melaksanakan perpustakaan pautan dinamik di bawah Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!