GNU/Linux >> Znalost Linux >  >> Linux

Jaký je trik LD_PRELOAD?

Pokud nastavíte LD_PRELOAD k cestě sdíleného objektu, bude tento soubor načten před jakákoli jiná knihovna (včetně běhového prostředí C, libc.so ). Takže ke spuštění ls s vaším speciálním malloc() implementaci, proveďte toto:

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

Symboly v knihovnách akcií můžete přepsat vytvořením knihovny se stejnými symboly a zadáním knihovny v LD_PRELOAD .

Někteří lidé jej používají ke specifikaci knihoven v nestandardních umístěních, ale LD_LIBRARY_PATH je pro tento účel lepší.


S LD_PRELOAD můžete dát knihovnám přednost.

Můžete například napsat knihovnu, která implementuje malloc a free . A tím, že je načtete pomocí LD_PRELOAD vaše malloc a free budou provedeny spíše než standardní.


Linux
  1. Co dělá Linux udržitelným OS

  2. Linux vs. Unix:Jaký je rozdíl?

  3. Co je soubor .so?

  1. Co se stalo s volným prostorem?

  2. Co znamená POSIX?

  3. Jaký je rozdíl mezi voláním knihovny a voláním systému v Linuxu?

  1. Jaký je koncept vruntime v CFS

  2. Jaké je použití $# v Bash

  3. Jaké je výchozí heslo obrazovky?