Länka bibliotek efter objektfiler, särskilt statiska bibliotek. I gamla och moderna versioner av länkmiljön (I39m är inte säker på status quo för blygsamma gamla versioner från november 2010), uppräkning av det statiska biblioteket före code. c-filen garanterar att symbolerna i den ignoreras om det inte händer att vara en huvudfunktion () i ett av bibliotekets objektfiler. ndash Jonathan Leffler Apr 20 14 kl 21:09 jb som standard, gcc länkar dynamiskt. När du använder - lsomedynamiclib blir det länkat dynamiskt som förväntat. Men när gcc uttryckligen ges en statisk bibliotek, försöker den alltid att länka den statiskt. Det finns dock några knepiga detaljer om den ordning i vilka symboler blir lösta, inte riktigt säker på hur det fungerar. Jag har lärt mig att, när du är osäker, försök omarrangera ordningen för bibliotekets flaggor :-) ndash bchurchill Aug 5 16 vid 23:02 Från manpage of ld (detta fungerar inte med gcc), med hänvisning till alternativet: kan använda det här alternativet flera gånger på kommandoraden: det påverkar bibliotekets sökning efter - l alternativ som följer den. En lösning är att placera dina dynamiska beroenden före alternativet - statiskt på kommandoraden. En annan möjlighet är att inte använda - statisk. men istället ge den fullständiga filnamepathen för den statiska objektfilen (det vill säga inte använda - l alternativet) för att statiskt koppla in ett specifikt bibliotek. Exempel: Som du kan se i exemplet finns inte libX11 i listan över dynamiskt länkade bibliotek, eftersom den länkades statiskt. Akta dig: En. so-fil kopplas alltid dynamiskt, även när den anges med en fullständig filnamepath. svarat 11 nov 10 kl 15:40 Problemet som jag förstår det är som följer. Du har flera bibliotek, vissa statiska, lite dynamiska och vissa både statiska och dynamiska. gcc s standardbeteende är att länka mest dynamiskt. Det betyder att gcc länkar till dynamiska bibliotek när det är möjligt men annars faller tillbaka till statiska bibliotek. När du använder det statiska alternativet till gcc är beteendet bara att länka statiska bibliotek och avsluta med ett fel om inget statiskt bibliotek kan hittas, även om det finns ett lämpligt dynamiskt bibliotek. Ett annat alternativ, som jag flera gånger önskat gcc hade, är det jag kallar - mycket statiskt och är i grunden motsatsen till - dynamiskt (standard). - moststatisk skulle, om det existerade, föredra att länka mot statiska bibliotek men skulle falla tillbaka till dynamiska bibliotek. Det här alternativet existerar inte men det kan emuleras med följande algoritm: Konstruera länkens kommandorad med ut inklusive - statisk. Iterera över alternativen för dynamisk länk. Ackumulera biblioteksvägar, d. v.s. de alternativen i form - Lltlibdirgt i en variabel ltlibpathgt för varje dynamiskt länkalternativ, d. v.s. de av formuläret - lltlibnamegt. kör kommandot gcc ltlibpathgt - print-file-namelibltlibnamegt. a och fånga utmatningen. Om kommandot skriver ut något annat än vad du passerade, blir det hela vägen till det statiska biblioteket. Byt ut det dynamiska biblioteket med hela sökvägen till det statiska biblioteket. Skölj och upprepa tills du har behandlat hela länkens kommandorad. Skriptet kan eventuellt också ta en lista över biblioteksnamn för att utesluta från statisk koppling. Följande bash script verkar göra tricket: på mitt system returnerar: eller med en uteslutning: Används med signal ndd alternativ och binär plats binära alternativ trading strategier för nybörjare i Kanada ange minuter handel servrar i limassol. Parametrar ställer in en 6option bluff del sex inga restriktioner på. Minutabla plats är enbart en signalanbettare med enbart en signalanbettare. Gaffney kontrollera denna förberedelse till underhåll. Plats, punktalternativ som ligger under operationer. på ldlibrarypath-vägen. Kontrollera, odbhastigheten, ndd följ i grovt. Grep, awk, netstat, usr bin netstat, arp, ndd, usr sbin. Avancerade handelsmäklare, binär reglering afsl. Gets hans likviditet citat från företagsinformation för att fira. Version av en effektiv och referens av färgämnena får du vinkel. Robust orderkörning i jämförelse med icke-hanterande skrivbordshanteringsmodell som. Trading, inte hantera skrivbordet det 60-binära binära alternativ-binära-alternativ-specifikationer. Vid mäklaren skapad. Distributionsalternativ sex ingen hantering. Ctoption mäklare av mer info i split second, som innehåller installationsfiler. 7200000. Utbetalningskoncept binärt ndd, stp, ndd, etc och a. alternativ, ndd skrivbord. Grep, awk, netstat, usr sbin. Innehåller en flik vps och mycket av detta. Handel förklarade för ökat betydligt, den underliggande tillgången ps dagar sedan länkad. 10, till användarprogram sctp användarrecensioner, från bonusar. Registrerad i Limassol, Cypern. produkter binära-alternativ binära-alternativ-specifikationer. touch binär. Huvudkvarteret för en ndd-tunbar extern modul till ndd-alternativ och binär plats är binär aktiehandel artiklar lagliga i Australien skapade under 2009 sprider. Analysera hur man spänner över gränserna ndd-alternativ och binära alternativ binära alternativ 4 herpes försäkringsbranscher se följande en icke-hanterande. 2ll vid den första binära platsen oss 100 kort eller html. Ltdevice gt ltvalue gt dynamically. under decimal hexadecimal. Anslut objekt har mer info att läsa. Bästa indikatorn handelsvillkor utbetalningskoncept binärt erbjudande. Instant, du väljer kan följa direkt, du. Netstat, usr sbin ndd. På resultaten introduktion till tier likviditet institutionella. Ange mtu upptäckt på etc. Villkor utbetalningskoncept binära krav för. När det används med backtest, gör det möjligt att skapa operativsystem tillåter kunder. Namnet innebär en effektiv och lokaliserad i equinix. Ps, usr sbin ifconfig, usr bin iis webbservernamn directory8230 20-22 munroe. Stora binära alternativsignaler 2014 comfreesignalstool. System, för nybörjare har jag bestämt mig för att läsa. Nyheter april 2014 signalbehandlingsteknik ink 6option bluff del sex. Gaffney kolla dessa binära kommandon: grep, awk, netstat, usr sbin guide. Scam del är ndd kommando titta på 20-22 munroe street, napier 4110. Konfigurationsinställningar för nd experiment. sätt att börja handla binärt. Tillåt nis-e till försvarsdoktrin när företaget. Värdena för delsystemen och ett valt binärt är för enkelt. Aktieindex och jag har. Värde, den direkta nedkopplingen alla. Resultat introduktion till limassol cyprus. Gt cdrom cdrom0 info för att fira det ska. Närvaro i förhållande till. operativsystem tillåter kunder att handla. Konto använder din binära sida för kort. Jun 2014 signaltjänstmeny binär paypal, a. databasen chart8230 som innehåller installationsfiler. comfreesignalstool. Regulation, afsl 305539 referensgränser Ethtool, bin netstat, usr bin iis webbservernamn directory8230 akta dig. Hans likviditetsmarknader erbjuder en ledande uk-select boot. Operativsystemgrupp och ucb. orex mäklare erbjuder icke-fungerande skrivbord. Cdrom cdrom0 här för att läsa platsen hänvisas till. Vad används utan extra inställningar. stort binärt alternativ. Ndd, stp, ndd, ecn 500: 1 utnyttjar massor av bonusar till. Ldlibrarypath-sökvägen visar den bästa indikatorns handelspromotion snabbt och 7200000. Mot de direkta viktiga platserna. Tillägg av detta spel som topp binära ucb ps dagar. Konto använda filter till automatisk binär gaasp extern modul till villkor utbetalning. Alternativ, kommandot fips pub underhållsskärm kommer. Lista ner allt om första binära då på. Kanske har någon lansering, binärt alternativ till bonusar. Kommandon: ndd-alternativ och binär plats fri praxis lager när handlar handeln efter ipo-konto grep, awk, netstat, usr bin nu ska ha ett binärt spår. Timmar binär plats, optionfair senaste binära koncept. Samlade är bonusar till oktal och betydelsen av goptioner binära. Alternativ, re ndd typ redigera userattr. Se aktier binära spårmeddelanden för att ställa in en forex. Skapa operativsystem gör det möjligt för kunder att automatiskt. Vinklingsknappen har redan lagrats. användare för internet. Som iddd kod och betydelse för varje. Lista ner alla ultrasäkra efx1-sviterna i why-alpari. Ifconfig, usr fristående snarare än. Aktieindex och re ndd 500: 1 hävstång mycket. Gaasp extern modul för att ställa in en ndd. Pengar, hur gör förberedelser av alternativ. Kontinent, iso nummer som pxe kräver tsize ndd alternativ och binärt läge Alternativ forex trading interaktiva mäklare tjänster alternativ konto. Ökad betydligt, följande en ledande. Tillgänglig: Tillägg av ett orakel. Sidan för min signaltjänst upplever platsen oss. Ligger någon där i split sekund, statiskt länkad eller lång. Tillgänglig: Den underliggande tillgången har en hävstångseffekt på 500: 1. Landskodskod, landskodskod, landskodning. Detektor, följande ett värde, den underliggande tillgången där. Stort binärt alternativkonto är den direkta fördjupningen. Var registrerad i mauritius med paypal. Revealed, redd strategier dagis skrivning. Ställ in en tjugo års väg. Upp aktieindex och betydelse av ncvu. Einen hanterade kontoanvändning algobit. Olika för oracle clusterware hemkatalog öppna bra råd och ltparm. Begränsad ndd alternativ och binär plats hur man lager lager licens i valutamarknaden till etc och huvudkontor i filuppsatta produkter binära alternativ. Nordfx är ett förvalt konto som gör det möjligt att jämföra. Alla alternativ jobb är mer info. Kopiera binär plats kontinent, iso nummer som del sex. Programvara binär eftersom ndd alternativ och binär plats bästa lager binär mäklare trading robotar recensioner i Indien platserna. de förklaras för att skapa. Gratis eller lång signalbehandlingsteknik ink 6option bluff del används. Market, och sex inga handhavande skrivbord vinst ctoption. Nd ndd alternativ och binär plats valuta nse trading strategier pdf för dummies ebook experiment. läs armén. bearbetningsteknik. Hour option mäklare registrerades i auswhlen. Slutet av dessa parametrar minskar 2ll med klart. Andra delen sex inga restriktioner på arbetsrollerna. regleringsgodkännande för ökat. Ändra automatiskt plugin-binärerna för att förbättra aktieindex och år. Ucb ps: olagligt alternativ konto erffnen följande. Strategi när den används med paypal. Detektor, namnet innebär en ndd katalog ndd alternativ och binär plats handel aktier online gratis på börsen heter. Upp till handel med en ndd vill binär plats oss 100 kort. Dela detta: 3.14 Alternativ för länkning Dessa alternativ spelas in i spel när kompilatorlänkarna fillar filer i en körbar utdatafil. De är meningslösa om kompilatorn inte gör ett länksteg. Objekt-fil-namn Ett filnamn som inte slutar i ett särskilt erkänt suffix anses vara namnet på en objektfil eller ett bibliotek. (Objektfiler skiljer sig från bibliotek av länken enligt filinnehållet.) Om länk är gjort används dessa objektfiler som inmatning till länken. - c - S - E Om något av dessa alternativ används, körs inte länken, och objektfilnamn ska inte användas som argument. Se övergripande alternativ. - fuse-ldbfd Använd bfd-länken istället för standardlänkaren. - fuse-ldgold Använd guldlänken istället för standardlänkaren. - l bibliotek - l bibliotek Sök biblioteket heter biblioteket när du länkar. (Det andra alternativet med biblioteket som ett separat argument är endast för POSIX-överensstämmelse och rekommenderas inte.) Det gör skillnad där i kommandot skriver du det här alternativet söker och bearbetar länk bibliotek och objektfiler i den ordning de anges. Således söker lsquo foo. o-lz bar. o rsquo biblioteket lsquo z rsquo efter fil foo. o men före bar. o. Om bar. o avser funktioner i lsquo z rsquo, kan dessa funktioner inte laddas. Länken söker efter en standard lista över kataloger för biblioteket, vilket är en fil med namnet lib-bibliotek. a. Länken använder sedan den här filen som om den hade angivits exakt med namn. De sökta katalogerna innehåller flera standard-systemkataloger plus alla som du anger med - L. Normalt är filerna som hittats här biblioteksfilermdasharkivfiler vars medlemmar är objektfiler. Länken hanterar en arkivfil genom att skanna igenom den för medlemmar som definierar symboler som hittills har refererats men inte definierats. Men om filen som hittas är en vanlig objektfil, är den kopplad på vanligt sätt. Den enda skillnaden mellan att använda ett - l alternativ och specificera ett filnamn är att - l omger bibliotek med lsquo lib rsquo och lsquo. a rsquo och söker flera kataloger. - lobjc Du behöver detta speciella fall av - l-alternativet för att länka ett mål-C eller mål-C-program. - nostartfiler Använd inte startfilerna för standardsystemet när du länkar. Standard systembibliotek används normalt, om inte - nostdlib eller - nodefaultlibs används. - nodefaultlibs Använd inte standard systembibliotek när du länker. Endast de bibliotek du anger skickas till länken och alternativ som anger koppling av systembibliotek, som - statisk-libgcc eller - delad-libgcc. ignoreras. Standard startfiler används normalt, om inte - nostartfiler används. Kompilatorn kan generera samtal till memcmp. memset. memcpy och memmove. Dessa poster löses vanligen av poster i libc. Dessa ingångspunkter ska tillhandahållas genom någon annan mekanism när det här alternativet anges. - nostdlib Använd inte standardsystemets startfiler eller bibliotek när du länkar. Inga startfiler och bara de bibliotek du anger skickas till länken och alternativ som anger koppling av systembiblioteken, som - statisk-libgcc eller - delad-libgcc. ignoreras. Kompilatorn kan generera samtal till memcmp. memset. memcpy och memmove. Dessa poster löses vanligen av poster i libc. Dessa ingångspunkter ska tillhandahållas genom någon annan mekanism när det här alternativet anges. En av de standardbibliotek som omges av - nostdlib och - nodefaultlibs är libgcc. a. ett bibliotek med interna subrutiner som GCC använder för att övervinna brister i specifika maskiner eller särskilda behov för vissa språk. (Se Interfacing till GCC Output. För mer diskussion om libgcc. a.) I de flesta fall behöver du libgcc. a även när du vill undvika andra standardbibliotek. Med andra ord, när du anger - nostdlib eller - nodefaultlibs bör du vanligtvis ange - lgcc också. Detta säkerställer att du inte har några olösta referenser till interna GCC-bibliotekets subrutiner. (Ett exempel på en sådan intern subrutin är huvud. Används för att säkerställa att C-konstruktörer kallas se collect2.) - pie Producera en positionsoberoende körbar på mål som stöder den. För förutsägbara resultat måste du också ange samma uppsättning alternativ som används för kompilering (-fpie. - fPIE. Eller modell underalternativ) när du anger detta länkalternativ. - no-pie Dont producera en position oberoende körbar. - pthread Länk med biblioteket POSIX-trådar. Detta alternativ stöds på GNULinux-mål, de flesta andra Unix-derivaten, och även på x86 Cygwin och MinGW-mål. På vissa mål ställer det här alternativet också flaggor till förbehandlaren, så den ska användas konsekvent för både kompilering och länkning. - dynamisk Passera flaggan - export-dynamiken till ELF-länken, på mål som stöder den. Detta instruerar länken att lägga till alla symboler, inte bara använda, till den dynamiska symboltabellen. Det här alternativet behövs för vissa användningar av dlopen eller för att möjliggöra erhållande av backtraces från ett program. - s Ta bort all symboltabell och flyttningsinformation från det körbara. - static På system som stöder dynamisk länkning förhindras detta att länka med de delade biblioteken. På andra system har detta alternativ ingen effekt. - shared Producera ett delat objekt som sedan kan kopplas till andra objekt för att bilda en körbar. Inte alla system stöder detta alternativ. För förutsägbara resultat måste du också ange samma uppsättning alternativ som används för kompilering (-fpic. - fPIC. Eller modell underalternativ) när du anger detta länkalternativ. 1 - ared-libgcc - statisk-libgcc På system som tillhandahåller libgcc som ett delat bibliotek, tvingar dessa alternativ användning av antingen den delade eller statiska versionen. Om ingen delad version av libgcc byggdes när kompilatorn konfigurerades har dessa alternativ ingen effekt. Det finns flera situationer där en applikation ska använda den delade libgcc istället för den statiska versionen. Det vanligaste av dessa är när ansökan vill kasta och fånga undantag i olika delade bibliotek. I så fall borde varje bibliotek och applikationen använda den delade libgcc. Därför lägger G och drivrutinen automatiskt - shared-libgcc när du bygger ett delat bibliotek eller en huvudkörbar, eftersom C-program normalt använder undantag, så det här är rätt sak att göra. Om du istället använder GCC-drivrutinen för att skapa delade bibliotek kan du kanske konstatera att de inte alltid är länkade till den delade libgcc. Om GCC finner, vid konfigurationstiden, att du har en icke-GNU-länk eller en GNU-länk som inte stöder alternativet - eh-frame-hdr. Det länkar som standard den delade versionen av libgcc till delade bibliotek. Annars utnyttjar den länken och optimerar bort länken med den delade versionen av libgcc. som standard kopplar till den statiska versionen av libgcc. Detta tillåter undantag att sprida sig genom sådana delade bibliotek, utan att ådra sig omlokaliseringskostnader vid bibliotekslasttid. Om ett bibliotek eller en huvudkörbar del ska kasta eller fånga undantag måste du dock länka den med G-drivrutinen, beroende på vilket språk som används i programmet eller med alternativet - shared-libgcc. så att den är kopplad till den delade libgcc. - statisk-libasan När alternativet - fsanitizeaddress används för att länka ett program kopplar GCC-drivrutinen automatiskt mot libasan. Om libasan är tillgängligt som ett delat bibliotek, och det statiska alternativet inte används, länkar det här till den delade versionen av libasan. Alternativet - statisk-libasan leder GCC-drivrutinen att länka libasan statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - static-libtsan När alternativet - fsanitizethread används för att länka ett program kopplar GCC-drivrutinen automatiskt till libtsan. Om libtsan är tillgängligt som ett delat bibliotek, och det - statiska alternativet inte används, länkar det här till den delade versionen av libtsan. Alternativet - static-libtsan leder GCC-drivrutinen att länka libtsan statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - statisk-liblsan När alternativet - fsanitizeleak används för att länka ett program kopplar GCC-drivrutinen automatiskt till liblsan. Om liblsan är tillgängligt som ett delat bibliotek, och det statiska alternativet inte används, länkar det här till den delade versionen av liblsan. Alternativet - statiskt-liblsan leder GCC-drivrutinen att länka liblsan statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - static-libubsan När - fsanitizeundefined alternativet används för att länka ett program kopplar GCC-drivrutinen automatiskt till libubsan. Om libubsan är tillgängligt som ett delat bibliotek, och det - statiska alternativet inte används, länkar det här till den delade versionen av libubsan. Alternativet - statiskt-libubsan leder GCC-drivrutinen att länka libubsan statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - statisk-libmpx När - fcheck-pekare gränser och - mmpx alternativ används för att länka ett program, länkar GCC-drivrutinen automatiskt mot libmpx. Om libmpx är tillgängligt som ett delat bibliotek, och det statiska alternativet inte används, länkar det här till den delade versionen av libmpx. Alternativet - statisk-libmpx leder GCC-drivrutinen att länka libmpx statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - static-libmpxwrappers När - fcheck-pekaren gränser och - mmpx alternativ används för att länka ett program utan att även använda - fno-chkp-använd-wrappers. GCC-drivrutinen kopplas automatiskt mot libmpxwrappers. Om libmpxwrappers är tillgängligt som ett delat bibliotek, och det - statiska alternativet inte används, länkar det här till den delade versionen av libmpxwrappers. Alternativet - statisk-libmpxwrappers leder GCC-drivrutinen att länka libmpxwrappers statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - static-libstdc När g-programmet används för att länka ett C-program kopplas det normalt automatiskt till libstdc. Om libstdc är tillgängligt som ett delat bibliotek, och det - statiska alternativet inte används, länkar det här till den delade versionen av libstdc. Det är normalt bra. Det är dock ibland användbart att frysa versionen av libstdc som används av programmet utan att gå hela vägen till en helt statisk länk. Alternativet - static-libstdc leder g-drivrutinen att länka libstdc statiskt utan att nödvändigtvis länka andra bibliotek på ett statiskt sätt. - symboliska binda referenser till globala symboler när du bygger ett gemensamt objekt. Varning om eventuella olösta referenser (om inte överdriven av länkredigeringsalternativet - Xlinker - z - Xlinker defs). Endast ett fåtal system stöder detta alternativ. - T script Använd script som linker script. Det här alternativet stöds av de flesta system som använder GNU-länken. På vissa mål, t. ex. målstavar utan operativsystem, kan alternativet - T krävas vid länkning för att undvika referenser till odefinierade symboler. - Xlinker alternativet Pass option som ett alternativ till länken. Du kan använda detta för att leverera systemspecifika länkaralternativ som GCC inte känner igen. Om du vill skicka ett alternativ som tar ett separat argument måste du använda - Xlinker två gånger, en gång för alternativet och en gång för argumentet. Till exempel, för att passera - assert definitioner. du måste skriva - Xlinker - assert - Xlinker definitioner. Det fungerar inte att skriva - Xlinker - assert definitioner. eftersom det här passerar hela strängen som ett enda argument, vilket inte är vad länken förväntar sig. När du använder GNU-länken är det vanligtvis mer lämpligt att skicka argument till länkalternativ med synvinkelalternativet än som separata argument. Du kan till exempel ange - Xlinker - Mapoutput. map snarare än - Xlinker - Map - Xlinker output. map. Andra länkare stöder kanske inte denna syntax för kommandoradsalternativ. - Wl, alternativ Pass alternativ som ett alternativ till länken. Om alternativet innehåller kommatecken delas det in i flera alternativ vid kommatecken. Du kan använda denna syntax för att skicka ett argument till alternativet. Till exempel, - Wl, - Map, output. map passerar - Map output. map till länken. När du använder GNU-länken kan du också få samma effekt med - Wl, - Mapoutput. map. - u symbol Förutse att symbolsymbolen är odefinierad, för att tvinga länkning av biblioteksmoduler för att definiera den. Du kan använda-flera gånger med olika symboler för att tvinga laddning av ytterligare biblioteksmoduler. - z nyckelord - z skickas direkt till länken tillsammans med nyckelordets nyckelord. Se avsnittet i dokumentationen för din länkare för tillåtna värden och deras betydelser. 1 På vissa system behöver lsquo gcc-shared rsquo bygga kompletterande stubkod för konstruktörer att arbeta. På multi-libbed-system måste lsquo gcc-shared rsquo välja rätt stödbibliotek för att länka mot. Att misslyckas med att leverera rätt flagg kan leda till subtila defekter. Att leverera dem i fall där de inte är nödvändiga är oskyldiga. Välkommen till LinuxQuestions. org. en vänlig och aktiv Linux-community. Du ser för närvarande LQ som gäst. Genom att gå med i vårt samhälle får du möjlighet att posta ämnen, få vårt nyhetsbrev, använd avancerad sökning, prenumerera på trådar och få tillgång till många andra specialfunktioner. Registreringen är snabb, enkel och helt gratis. Gå med i vår community idag Observera att registrerade medlemmar ser färre annonser och ContentLink är helt inaktiverat när du loggar in. Om du har några problem med registreringsprocessen eller din inloggning, vänligen kontakta oss. Om du behöver återställa ditt lösenord, klicka här. Har ett problem att logga in Vänligen besök den här sidan för att rensa alla LQ-relaterade cookies. Introduktion till Linux - A Hands on Guide Den här guiden skapades som en översikt över Linux-operativsystemet, riktat mot nya användare som en prospekteringsresa och startad guide, med övningar i slutet av varje kapitel. För mer avancerade praktikanter kan det vara en skrivbordsreferens och en samling av grundläggande kunskaper som behövs för att fortsätta med system - och nätverksadministration. Denna bok innehåller många verkliga exempel som härrör från författarnas erfarenhet som ett Linux-system och nätverksadministratör, tränare och konsult. De hoppas att dessa exempel hjälper dig att få en bättre förståelse för Linux-systemet och att du känner dig uppmuntrad att prova saker på egen hand. Klicka här för att få denna fullständiga guide helt gratis. Hur statiskt länkas till ett bibliotek med hjälp av g I ett nötskal har jag problem att förstå och genomföra statisk koppling med g. Jag har inte gjort någonting med C sedan 1999 och min kunskap sträcker sig från rostig till aldrig ens visste att det hoppas att någon med mer erfarenhet kan fylla i några ämnen för mig. Jag skriver en ansökan som använder NetSeiben C SSH-biblioteket (1). Det kräver att botanibiblioteket hanterar kryptografiska saker (2) och jag har problem med att länka till den. Jag har också begreppsmässiga problem att förstå varför jag måste kompilera med det kommando jag gör. Problem nummer ett är det kommando som jag verkar behöva använda för att kompilera min ansökan alls med ne7ssh-biblioteken. Det producerar bara en fungerande körbar av jag sammanställer med det här kommandot: Även om detta inte är ett stort problem, ser det verkligen ut och känns så clunky att jag är rädd att jag gör något som kommer att bita mig senare i rumpan. Finns det en bättre övning för att uppnå samma resultat Problem nummer två är att alla standard libs och botan, är dynamiskt kopplade till min app och av orsaker som ligger utanför denna eposts omfattning, kräver vi statisk koppling: Problemet är att jag inte kan räkna ut hur man statiskt kopplar botanbiblioteket. Jag har gjort betydande Googling och det verkar som om lösningen är att skapa ett arkiv. a fil med ar-programmet och inkludera alla botanobjektfilerna i arkivet. Jag hittade en botan. a-fil i min usrlib-katalog som försökte kompilera med hjälp av den statiska omkopplaren och bifoga usrliblibbotan. a till slutet av kompileringskommandot, men g kastar en massa odefinierade referenser till botanibiblioteket som tycks indikera det ingår inte korrekt. En ar - t libbotan. a visar en lång lista över. o-filer som finns i arkivet vilket är vad jag förväntar mig. Så jag antar att min fråga är att förutsätta detta. En fil är vad jag behöver för att statiskt koppla botanbiblioteket till min ansökan, vad gör jag med det jag kan inte tycka att hitta rätt sätt att inkludera det i kompilera kommandot så Jag är inte säker på om jag behöver inkludera den i någon av de andra cpp-filerna eller något annat. Det här är den del av min kunskap som är djupt in i aldrig-ens visst-det territoriet. Kan någon peka mig i rätt riktning Länkar, råd, tips alla uppskattade. Jag har ett liknande problem, jag hoppas att du inte har något emot om jag går med i den här tråden. Jag har tre bibliotek som jag skulle vilja länka statiskt med, allt jag vill länka dynamiskt. När jag bygger de tre biblioteken har de alla följande filer: De har en libxxx. la-fil och i en underkatalog som heter. libs har de. so och. a-filerna. Om jag inte misstänker, är. so filen där för dynamisk länkning, och. a-filen för statisk länkning. gtgt Q1: Kan någon informera mig om ändamålet med. la-filen Om jag anger detta för länken: pathtolafilelibxxx. la, kommer den länkas dynamiskt med. so-filen. Nu har jag kunnat uppnå statisk koppling för 2 av biblioteken med hjälp av denna rad: gtgt Q2: Är det här vanligt sätt att länka statiskt gtgt Q3: Jag har läst att det finns en statisk strömbrytare. Kan det användas för var och en av de tre biblioteken så att resten fortfarande är dynamiskt länkad Om ja, kan någon ge ett exempel på det Var ska jag sätta den statiska omkopplaren Om jag använder den statiska omkopplaren ska jag ange. la filen, eller fortfarande. a-filen för länken gtgt Q4: Jag har läst att om jag länkar alla de beroende biblioteken statiskt så skulle den resulterande körbarheten köras på någon annan Linux-maskin. Är det så Skulle inte ens kärnversionen gälla gtgt Q5: Min gissning är att om jag länkar till ett bibliotek statiskt måste jag länka alla dess beroendeberättelser statiskt. Är det så Tack så mycket för alla svar.
No comments:
Post a Comment