Abidiff: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== abidiff - Jämför ABI (Application Binary Interface) mellan två versioner av ett bibliotek == Kommandot `abidiff` används för att jämföra ABI (Application Binary Interface) mellan två versioner av ett bibliotek för att identifiera inkompatibiliteter. === Syntax === abidiff [ALTERNATIV] FIL1 FIL2 === Beskrivning === Kommandot `abidiff` jämför två versioner av ett bibliotek och rapporterar eventuella skillnader i deras ABI. Detta är användbart för att s...')
 
(Ändrade omdirigeringsmålet från abdiff(1) till abidiff(1))
Märke: Omdirigeringsmålet ändrades
 
(2 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
== abidiff - Jämför ABI (Application Binary Interface) mellan två versioner av ett bibliotek ==
#REDIRECT [[abidiff(1)]]
Kommandot `abidiff` används för att jämföra ABI (Application Binary Interface) mellan två versioner av ett bibliotek för att identifiera inkompatibiliteter.
 
=== Syntax ===
abidiff [ALTERNATIV] FIL1 FIL2
 
=== Beskrivning ===
Kommandot `abidiff` jämför två versioner av ett bibliotek och rapporterar eventuella skillnader i deras ABI. Detta är användbart för att säkerställa att ändringar i ett bibliotek inte bryter binär kompatibilitet med program som använder det.
 
=== Alternativ ===
Kommandot `abidiff` stöder flera alternativ som kan användas för att justera dess beteende:
 
* -v, --verbose - Visa mer detaljerad information om jämförelsen.
* -j, --harmless - Rapportera även oskyldiga skillnader.
* -d, --drop-private-types - Ignorera privata typer vid jämförelsen.
* -k, --show-locs - Visa källkodsplatser för skillnader.
* --headers-dir1=DIR - Använd katalog DIR för rubrikfiler för första biblioteket.
* --headers-dir2=DIR - Använd katalog DIR för rubrikfiler för andra biblioteket.
* --no-added-syms - Ignorera tillagda symboler.
* --no-removed-syms - Ignorera borttagna symboler.
* --no-added-struct-fields - Ignorera tillagda strukturfält.
* --no-removed-struct-fields - Ignorera borttagna strukturfält.
* --no-added-union-fields - Ignorera tillagda unionfält.
* --no-removed-union-fields - Ignorera borttagna unionfält.
* --no-changed-constants - Ignorera ändrade konstantvärden.
* --no-changed-function-signatures - Ignorera ändrade funktionssignaturer.
* --no-changed-variable-types - Ignorera ändrade variabeltyper.
* --no-incompatible-changes - Ignorera inkompatibla förändringar.
* --leaf-changes-only - Rapportera endast förändringar i "leaf" typer.
* --short-locs - Använd kort form för källkodsplatser.
* -h, --help - Visa hjälpmeddelande och avsluta.
* -V, --version - Visa versionsinformation och avsluta.
 
=== Exempel ===
Här är några praktiska exempel som visar hur du kan använda `abidiff`-kommandot:
 
* För att jämföra två versioner av ett bibliotek:
<code>
abidiff libfoo.so.1.0 libfoo.so.2.0
</code>
 
* För att visa mer detaljerad information om jämförelsen:
<code>
abidiff --verbose libfoo.so.1.0 libfoo.so.2.0
</code>
 
* För att ignorera tillagda symboler:
<code>
abidiff --no-added-syms libfoo.so.1.0 libfoo.so.2.0
</code>
 
* För att visa källkodsplatser för skillnader:
<code>
abidiff --show-locs libfoo.so.1.0 libfoo.so.2.0
</code>
 
=== Skillnader mellan macOS och Linux ===
Det finns några skillnader att tänka på när man använder `abidiff` på macOS jämfört med Linux:
 
* **Tillgänglighet**: `abidiff`-kommandot är generellt sett tillgängligt på de flesta Linux-distributioner som en del av GNU Libabigail-projektet. På macOS kan `abidiff` behöva installeras via paketförvaltare som Homebrew.
* **Installation**: På Linux kan `abidiff` installeras via paketförvaltaren (t.ex. `apt-get install libabigail` på Debian-baserade system). På macOS kan `abidiff` installeras via Homebrew med `brew install libabigail`.
 
Exempel på att installera `abidiff` på macOS med Homebrew:
* Installera Homebrew om det inte redan är installerat:
<code>
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
</code>
 
* Installera `libabigail`:
<code>
brew install libabigail
</code>
 
Det är alltid bra att konsultera `man`-sidan för `abidiff` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
 
=== Felsökning ===
Om du får ett felmeddelande när du använder `abidiff`, kontrollera följande:
 
* Att du använder rätt syntax och alternativ för ditt specifika kommando.
* Att biblioteken du försöker jämföra existerar och är tillgängliga.
* Att du har nödvändiga behörigheter för att läsa biblioteken.
 
=== Se även ===
* [[abi-compliance-checker]] - Kontrollera ABI-kompatibilitet mellan olika versioner av bibliotek.
* [[abi-dumper]] - Dumpera ABI-information från en delad objektfil.
* [[nm]] - Visa symboltabellen för objektfiler.
 
=== Källor ===
* [https://sourceware.org/libabigail/manual/abidiff.html abidiff manual (GNU Libabigail)]
* [https://man7.org/linux/man-pages/man1/abidiff.1.html abidiff manual (Linux)]
* [https://ss64.com/osx/abidiff.html abidiff manual (macOS)]
 
[[Kategori:Linuxkommandon]]

Nuvarande version från 10 januari 2026 kl. 07.03

Omdirigering till: