GNU/Linux >> Belajar Linux >  >> Linux

Apa trik LD_PRELOAD?

Jika Anda mengatur LD_PRELOAD ke jalur objek bersama, file itu akan dimuat sebelum pustaka lainnya (termasuk runtime C, libc.so ). Jadi untuk menjalankan ls dengan malloc() khusus Anda implementasi, lakukan ini:

$ LD_PRELOAD=/path/to/my/malloc.so /bin/ls

Anda dapat mengganti simbol di pustaka stok dengan membuat pustaka dengan simbol yang sama dan menentukan pustaka di LD_PRELOAD .

Beberapa orang menggunakannya untuk menentukan pustaka di lokasi yang tidak standar, tetapi LD_LIBRARY_PATH lebih baik untuk tujuan itu.


Dengan LD_PRELOAD Anda dapat mengutamakan perpustakaan.

Misalnya Anda dapat menulis perpustakaan yang mengimplementasikan malloc dan free . Dan dengan memuatnya dengan LD_PRELOAD malloc Anda dan free akan dieksekusi daripada yang standar.


Linux
  1. Apa yang membuat Linux menjadi OS yang berkelanjutan

  2. Apa yang dimaksud dengan POSIX?

  3. Apa konsep vruntime di CFS

  1. Apa gunanya $# di Bash

  2. Apa itu file .so?

  3. Apa kata sandi default layar?

  1. Linux vs. Unix:Apa bedanya?

  2. Apa itu sistem file NSFS?

  3. Apa itu pengguna debian-+?