Monday 6 November 2017

Ld Format Binære Alternativer


Den - format binære alternativet angir at inngangsfilen, i dette tilfellet kalt stubben, er en rå binær blokk av data. Kommandoen du viser tar denne blokken og bryter den opp i en elf-fil, ligner på andre objekter opprettet av kompilatoren, og egnet for å koble til et program Denne typen trick er også nyttig hvis du har et ROM-programmeringsverktøy, for eksempel som forventer elf data i stedet for raske binærbilder. Blokken er plassert i seksjonen, og tre symboler aka-variabler er opprettet for you. If du kobler stub-bilde o med et C-program, på vanlig måte, så kan du få tilgang til dataene som dette, du kan velge hvilken pointertype som passer. Hva er File Extension LD. by Jay Geater Chief Technology Writer. noen sender deg en LD-fil, og du er ikke sikker på hvordan du åpner den. Kanskje du har funnet en LD-fil på datamaskinen din og lurer på hva det er for Windows, kan fortelle deg at du ikke kan åpne den, eller i verste fall kan du kanskje støt på en LD-filrelatert feilmelding. Før du kan åpne en LD-fil, gjør du det Du må finne ut hvilken type fil LD-filtypen refererer til. Tip Feil LD-filforbindelsesfeil kan være et symptom på andre underliggende problemer i Windows-operativsystemet. Disse ugyldige oppføringene kan også produsere tilknyttede symptomer som treg Windows-oppstart, datamaskin fryser og andre PC-ytelsesproblemer Derfor anbefales det sterkt at du skanner Windows-registeret for ugyldige filforeninger og andre problemer relatert til et fragmentert register. LD-filer er uvanlige filer som hovedsakelig er assosiert med Paradox Language Driver Corel. LD-filer er også knyttet til PC-Bibliotek Brukeralternativer Bibliographisches Institut. I sekunder vil du lære nøyaktig hvilken type LD-fil du har, programvaren som er knyttet til filen din, utgiveren som opprettet den, sikkerhetssikkerhetsstatusen og en rekke andre nyttige opplysninger. For å starte din gratis filanalyse, dra og slipp bare LD-filen din i de stiplede linjene under, eller klikk Bla gjennom denne datamaskinen og velg filen din LD-filanalyserapporten vil da bli vist direkte under i dette nettleservinduet. Vær også å skanne filen min for virus. Solvusoft Microsoft Gold Certified Company. Er det noen som har en ide om hvordan å statisk kompilere en ressursfil rett inn i kjørbare eller den delte biblioteksfilen ved hjelp av GCC. For eksempel kan jeg legge til bildefiler som aldri endres, og hvis de gjør det, må jeg erstatte filen uansett, og vil ikke at de skal ligge rundt i filsystemet. Hvis dette er mulig, og jeg tror det er fordi Visual C for Windows kan gjøre dette også, hvordan kan jeg laste inn filene som er lagret i det egne binære. Kan den kjørbare analysen selv finne filen og trekke ut dataene ut av det. Kan det være et alternativ for GCC jeg har ikke sett ennå Å bruke søkemotorer gjorde egentlig ikke spytte ut de riktige stuff. I ville trenge dette for å arbeide for delte biblioteker og normal ELF-executables. Any hjelp er verdsatt. Giver noe som. For kompatibilitet med annen kode kan du da bruk enten fmem åpen for å få en vanlig FIL-objekt, eller alternativt std stringstream for å lage en iostream std stringstream er ikke bra for dette skjønt, og du kan selvfølgelig bare bruke en peker hvor som helst du kan bruke en iterator. Hvis du bruker dette med automake, ikke glem det å sette BUILTSOURCES på riktig måte. Den fine tingen om å gjøre det på denne måten er. Du får tekst ut, så det kan være i versjonskontroll og patcher fornuftig. Det er bærbart og godt definert på hver platform. answered 1. februar kl. 16 04.Update Jeg har vokst til å foretrekke kontrollen John Ripley s samlingsbaserte løsning tilbyr og bruker nå en variant på det. Jeg har brukt objcopy GNU binutils å koble binære data fra en fil til data delen av kjørbare. Dette gir deg en foo - data o objektfil som du kan koble til din kjørbare C-grensesnittet ser ut som om. så du kan gjøre ting som. Hvis målarkitekturen din har spesielle begrensninger om hvor konstant og variabel data er lagret, eller du vil lagre dataene i segmentet til gjør det passer inn i samme minnetype som programkoden din, kan du spille med de objcopy parametrene litt mer. Du kan legge inn binære filer i kjørbar ved hjelp av ld linker. Hvis du for eksempel har en fil, kan du legge den i kjørbar, og legge til følgende kommandoer til ld. Hvis du påkaller ld gjennom gcc, må du legge til - Wl. Here --format binær forteller linkeren at følgende fil er binær og --format standardbryter tilbake til standardinngangsformat dette er nyttig hvis du vil spesifisere andre inputfiler after. Then du kan få tilgang til innholdet i filen din fra code. There er også symbol kalt binaryfoobarsize Jeg tror det er av typen uintptrt, men jeg gjorde ikke sjekke det. Jeg hadde nylig behov for å legge inn en fil i en kjørbar Siden jeg m arbeider på kommandolinjen med gcc, et al og ikke med et fancy RAD-verktøy som gjør at alt skjer magisk, var det ikke umiddelbart opplagt for meg hvordan dette skulle skje. Litt å søke på nettet fant et hack til hovedsakelig katt det på slutten av eksekveringen le og deretter dechifrere hvor det var basert på en haug med informasjon jeg ikke ville vite om Syntes som om det burde være en bedre måte. Og det er det som er objcopy til redning objcopy konverterer objektfiler eller kjørbare filer fra ett format til et annet Et av de formatene det forstår er binært, noe som egentlig ikke er noen fil som ikke er i et av de andre formatene det forstår. Så du har antatt ideen om å konvertere filen som vi vil legge inn i en objektfil, da kan det bare være koblet inn med resten av koden. Lets si at vi har et filnavn som vi vil legge inn i vår kjørbare. For å konvertere dette til en objektfil som vi kan koble til med vårt program, bruker vi bare objcopy til å produsere ao-fil. Dette forteller objcopy at vår inngangsfil er i binærformat, at vår utdatafil skal være i objektfilene elf32-i386-format på x86. Alternativet - binary-arkitektur forteller objcopy at utdatafilen er ment å kjøre på en x86 Dette er nødvendig slik at ld vil godta fi le for å koble sammen med andre filer til x86 Man ville tro at spesifisering av utdataformatet som elf32-i386 ville innebære dette, men det gjør det ikke. Da vi har en objektfil, trenger vi bare å inkludere den når vi kjører linkeren. Når Vi kjører resultatet vi får bedt for utgang. Selvfølgelig har jeg ikke fortalt hele historien ennå, og heller ikke vist deg hoved c Når objcopy gjør den ovennevnte konverteringen, legger den til noen linkersymboler til den konverterte objektfilen. Etter å ha koblet disse symbolene angi start og slutt på den innebygde filen Symbolnavnene dannes ved å legge ut binær og legge til start eller slutt på filnavnet Hvis filnavnet inneholder noen tegn som vil være ugyldige i et symbolnavn, blir de konvertert til underskrifter, f. eks. blir datatekst hvis du får uløste navn når du kobler ved hjelp av disse symbolene, gjør en hexdump - C på objektfilen og se på slutten av dumpen for navnene som objcopy valgte. Koden som faktisk bruker den innebygde filen, burde nå være rimelig åpenbar. En viktig og su btle ting å merke seg er at symbolene lagt til objektfilen er ikke variabler. De inneholder ikke noen data, men deres adresse er deres verdi. Jeg erklærer dem som typekarakter fordi det er praktisk for dette eksemplet er de innebygde dataene tegndata. , kan du deklarere dem som noe, som int hvis dataene er en rekke heltal, eller som struktur foobart hvis dataene var en rekke foo-barer Hvis de innebygde dataene ikke er ensartede, så er karantis antagelig den mest praktiske ta sin adresse og kast pekeren til riktig type mens du krysser dataene. Ansatt Apr 1 11 ved 20 39. Ld-format binære alternativer. Til 651966 var det pleide å ikke være mulig å bruke DEBBUILDMAINTOPTIONS direkte. CMake ignorerer stille CPPFLAGS under konstruksjon, dette gjør FORTIFY herding fungerer ikke som forventet hvis du nettopp har gjort som ovenfor Ld-format binære alternativer Prognoser i markedsforexen for 10. januar LD - r - o src o - z noexecstack --format binær Dette virker ikke med GNU-gull som det ikke gjør t støtte th er kommandolinjemulighet Dette kan gjøres enten gjennom dpkg-buildflags eller en av pakkene som leveres av src hardening-wrapper-kildeherdingspakken eller herding-inkluderer for eksempel å aktivere paj-funksjonen og deaktivere CDBS-pakkene automatisk eksportere alle dpkg-buildflags Bug 651964 ble løst. Pass på å legge til FLAGS i stedet for å overskrive dem, f. eks. bruk CFLAGS - Wextra i stedet for CFLAGS - Wextra. Når du bygger programmer som håndterer usikre dataparsers, nettverkslyttere osv. eller kjører med forhøyede rettigheter PAM, X, etc, vennligst aktiver PIE og BINDNOW i Ld-formatet binære alternativer. Hvordan investere i binært tilleggssystem 32 Alt du trenger for binær opsjonshandel. Guide til lønnsom handel, ærlig Det er et gammelt ordtak at kunnskap er makt og det gjelder også for handel. Binære alternativer gir en forhåndsordnet utbetaling og skadeformat i Linker ld tar objektfiler, biblioteker og andre binære filer som input og koblinger Når du påkaller G CC uten - c-alternativet, kjører det vanligvis ld som sitt siste trinn LD - r - o src o - z noexecstack --format binær Dette virker ikke med GNU-gull, da det ikke støtter dette kommandolinjevalg For å aktivere PIE og BINDNOW bruker DEBBUILDMAINTOPTIONS i kombinasjon med som forklart ovenfor. Forex Kazakhstan valutakurs i Sør-Afrika. Utvekslingspriser for valuta i Macedonia. Ld-format binære alternativer Bestselgende Forex-bøker til salgs Alt du trenger for binær opsjonshandel Guide for lønnsom handel, ærlig der er et gammelt ordtak at kunnskap er makt, og det gjelder også handel. Binære alternativer tilbyr en forhåndsordnet utbetaling og skadeformat i Quicken Cash Manager Vs Hjem Bedrift LD - r - o src o - z noexecstack --format binær Dette gjør ikke t arbeide med GNU-gull, da det ikke støtter denne kommandolinjealternativet. overskriver FLAGS, slik at tilføyelser til flaggene må skje etter at bruk inkluderer CFLAGS - Wextra i stedet for CFLAGS - Wextra Når du bygger programmer som håndterer usikker data-analyse rs, nettverkslyttere osv., eller kjør med forhøyede rettigheter PAM, X, etc, vennligst aktiver PIE og BINDNOW i Ld-formatet binære alternativer. Binære alternativmeglere Gjen penger Helper Alt muliggjør PIE og BINDNOW og fremtidige herdingsflagger Hver herdingsfunksjon kan aktiveres og deaktiveres i DEBBUILDMAINTOPTIONS miljøvariabellens herdingsverdi med binære alternativer for Ld-format. Kompilere en CC-programkompilatoralternativer. Compiler-alternativer. Listede kompileringsalternativer. Listet Alfabetisk. MD, MT, LD. Bruk Run-Time Library MD, MT-kjerne. Opprett Kernelmodus Binær Z7, Zi, ZI Debug Information Format. Alle kompileringstidspunkter som er beskrevet nedenfor, kan brukes til å forhindre en resulterende binær mot minnekorrupsjonsangrep, eller gi ytterligere advarselsmeldinger under kompiler. Ld-format binære alternativer Binær Options Trading System Striker9 Review Of Optometry Cnr rullende aksjehandel. GNU linker ld er ment å dekke et bredt spekter av situasjoner, og å være like komplisert så godt som mulig med andre linkere Som et resultat har du mange valg for å kontrollere dens oppførsel. Her er et sammendrag av alternativene du kan bruke på ld-kommandolinjen. Denne mengden av kommandolinjevalg kan virke skremmende, men i praksis Noen av dem er brukt i en bestemt kontekst. For eksempel er en hyppig bruk av ld å koble standard Unix objektfiler på et standard, støttet Unix-system På et slikt system, for å koble en fil hallo o. Dette forteller ld å produsere en fil kalt output som følge av å koble filen lib crt0 o med hei o og biblioteket libc a som kommer fra standard søk kataloger. Se diskusjonen om - l alternativet nedenfor. Kommandolinjealternativene til ld kan spesifiseres i noen rekkefølge, og kan gjentas ved vilje. Gjenta de fleste alternativer med et annet argument vil heller ikke ha noen videre effekt, eller overstyre tidligere forekomster dem lenger til venstre på kommandolinjen til det alternativet. Unntakene - som kan meningsfullt brukes mer enn gang - ar e-A-b eller dens synonym - format, - defsym - L - l - R - u og - eller dets synonym - start-gruppe. Listen over objektfiler som skal kobles sammen, vises som objfile kan følge, foregå, eller blandes inn med kommandolinjevalg, bortsett fra at et objfilt argument ikke kan plasseres mellom et alternativ og dets argument. Vanligvis kobles linkeren med minst en objektfil, men du kan spesifisere andre former for binære inngangsfiler ved hjelp av - l - R og script-kommandospråket Hvis det ikke er spesifisert noen binære inngangsfiler, produserer linkeren ikke noe utdata, og utsteder meldingen No input files. If linkeren ikke kan gjenkjenne formatet til en objektfil, antar den at at det er et linker-skript Et skript som er spesifisert på denne måten, forsterker hovedlinker-skriptet som brukes for linken, enten standardkoblingsskriptet eller det som er spesifisert ved å bruke - T Denne funksjonen tillater linkeren å koble til en fil som ser ut til å være en gjenstand eller et arkiv, men definerer egentlig bare noen symbolverdier, eller bruker INPUT eller GRUPPE for å laste andre objekter Se avsnitt Kommandospråk. For alternativer hvis navn er et enkelt brev, må alternativargumenter enten følge opsjonsbrevet uten å intervenere mellomrom, eller bli gitt som separate argumenter umiddelbart etter det alternativet som krever dem. For alternativer hvis navn er flere bokstaver, enten ett dash eller to kan forutse alternativnavnet for eksempel, --oformat og - oformat er ekvivalente Argumenter for flere bokstaver må enten skilles fra alternativnavnet med et like tegn, eller bli gitt som separate argumenter umiddelbart Følg alternativet som krever dem. For eksempel er --oformat srec og - oformat srec tilsvarer Unike forkortelser av navnene på flere bokstavsalternativer er akseptert. - b-inngangsformat ld kan være konfigurert til å støtte mer enn en type objekt fil Hvis din ld er konfigurert på denne måten, kan du bruke - b-alternativet til å spesifisere det binære formatet for input objektfiler som følger dette alternativet på kommandolinjen Selv når ld i s konfigureres for å støtte alternative objektformater, trenger du vanligvis ikke å spesifisere dette, da ld skal konfigureres til å forvente som standard inngangsformat. Det vanligste formatet på hvert maskininngangsformat er en tekststreng, navnet på et bestemt format støttet av BFD-bibliotekene Du kan liste de tilgjengelige binære formatene med objdump - i - format input-format har samme effekt, som skriptkommandoen TARGET Se avsnitt BFD Du vil kanskje bruke dette alternativet hvis du kobler filer med en uvanlig binært format Du kan også bruke - b å bytte formater eksplisitt når du kobler objektfiler av forskjellige formater, ved å inkludere - b-inputformat før hver gruppe objektfiler i et bestemt format Standardformatet er tatt fra miljøvariabelen GNUTARGET Du kan også definer inngangsformatet fra et skript, ved hjelp av kommandoen TARGET, se delen Alternativkommandoer - Statisk Koble ikke til delte biblioteker Dette er bare meningsfylt på plattformer som delte biblioteker er supp orted - Bdynamic Link mot dynamiske biblioteker Dette er bare meningsfylt på plattformer som delte biblioteker støttes for. Dette alternativet er normalt standard på slike plattformer - Bsymbolisk Når du oppretter et delt bibliotek, binder du referanser til globale symboler til definisjonen i det delte biblioteket hvis Normalt er det mulig for et program koblet til et delt bibliotek for å overstyre definisjonen i det delte biblioteket. Dette alternativet er bare meningsfullt på ELF-plattformer som støtter delte biblioteker - c MR-kommandofil For kompatibilitet med linkere produsert av MR, aksepterer ld script filer skrevet i et alternativt, begrenset kommandospråk, beskrevet i avsnitt MRI Kompatible skriptfiler Introduser MR-skriptfiler med alternativet - c bruk - T-alternativet for å kjøre linkerskripter skrevet i det generelle ld-skriptspråket Hvis MR-cmdfile ikke eksisterer, ld ser etter det i katalogene som er angitt av noen - L alternativer - d - dc - dp Disse tre alternativene er likeverdige flere skjemaer støttes for kompatibilitet med andre linkere De tilordner plass til vanlige symboler, selv om en flyttbar utdatafil er spesifisert med - r Skriptkommandoen FORCECOMMONALLOCATION har samme effekt Se avsnitt Alternativkommandoer - defsym-symboluttrykk Opprett et globalt symbol i utdatafilen, som inneholder den absolutte adressen gitt ved uttrykk Du kan bruke dette alternativet så mange ganger som nødvendig for å definere flere symboler i kommandolinjen. En begrenset form for aritmetikk støttes for uttrykket i denne konteksten kan du gi en heksadesimal konstant eller navnet på et eksisterende symbol , eller bruk og - for å legge til eller trekke ut heksadesimale konstanter eller symboler Hvis du trenger mer forseggjort uttrykk, bør du vurdere å bruke kommandospråket fra et skript, se avsnitt Oppgave Definere symboler Merk at det ikke skal være noe mellomrom mellom symbolet, likestilt og uttrykk - embedded-relocs Dette alternativet er bare meningsfull når du kobler MIPS-innebygd PIC-kode, generert av - membedded-pic alternativ til GNU-kompilatoren og assembleren Det får linkeren til å lage et bord som kan brukes ved kjøring for å flytte alle data som ble statisk initialisert til pekerverdier. Se koden i testsuite ld-empic for detaljer. - oppføring. Bruk oppføring som den eksplisitte symbol for begynnelsen av programmet, i stedet for standard inngangspunkt Se avsnitt Inngangspunktet for en diskusjon av standardverdier og andre måter å spesifisere inngangspunkt - F - F format ignorert Noen eldre linkere brukte dette alternativet i en kompileringsverktøyskjede for å spesifisere objektfilformat for både inn - og utdataobjektfiler Mekanismene ld bruker for dette formålet - b eller - format-alternativene for inputfiler, - oformat-alternativet eller TARGET-kommandoen i linker-skript for utdatafiler, GNUTARGET-miljøvariabelen er mer fleksibel , men ld aksepterer - F alternativet for kompatibilitet med skript skrevet for å kalle det gamle linkerformatet input-format Synonym for - b input-format - g ignoreres Forutsatt for kompatibilitet med andre verktøy - G verdi - G verdi Angi maksimal størrelse på objekter som skal optimaliseres ved hjelp av GP-registeret til størrelse under MIPS ECOFF Ignorert for andre objektfilformater - hjelp Skriv ut en oppsummering av kommandolinjevalg på standardutgang og avslutte - i Utfør en inkrementell lenke samme som alternativ - r - l Legg til arkivfilarkiv til listen over filer som skal kobles Dette alternativet kan brukes et hvilket som helst antall ganger ld vil søke i banelisten for forekomster av lib a for hver arkiv spesifisert - L searchdir - L searchdir Legg til bane searchdir på listen over baner som ld vil søke etter arkivbiblioteker og ld-kontrollskript Du kan bruke dette valget et hvilket som helst antall katalogene søkes i rekkefølgen de er angitt på kommandolinje Kataloger angitt på kommandolinjen søkes før standardmappene Alle - L-alternativene gjelder for alle - l-valg, uavhengig av rekkefølgen der alternativene vises. Banene kan også angis i et koblingsskript med SEARCHDEN IR-kommandoer Kataloger som er angitt på denne måten, søges på det punktet der koblingsskriptet vises i kommandolinjen - M Skriv ut til standardutgangen et lenke kart - Diagnostisk informasjon om hvor symbolene er kartlagt av ld og informasjon om global felles lagringsallokering - Kart kartfile Skriv ut til filkartfilen et lenekart - Diagnostisk informasjon om hvor symbolene er kartlagt av ld og informasjon om global felles lagringsallokering - emulering - emulering Emuler emulasjonslinkeren Du kan liste de tilgjengelige emulasjonene med --verbose eller - V-alternativer Standardinnstillingen avhenger av hvordan ld'en ble konfigurert - N Sett tekst - og dataseksjonene for å være lesbare og skrivbare. Ikke juster datasegmentet sidejustert. Hvis utdataformatet støtter Unix-stil magiske numre, merker du utdataene som OMAGIC - n Sett tekstsegmentet for å være skrivebeskyttet, og merk utdataene som NMAGIC hvis det er mulig - noinhibit-exec Behold den kjørbare utdatafilen når den fortsatt er brukbar Normalt vil linkeren ikke produsere e en utdatafil hvis den støter på feil under koblingsprosessen det går ut uten å skrive en utdatafil når den utsteder en hvilken som helst feil-ikke-lagringsminne ld optimaliserer normalt for hastighet over minnebruk ved å cache symboltabellene til inntastingsfiler i minnet Dette alternativet forteller ld å i stedet optimalisere for minnebruk, ved å lese om symboltabellene etter behov Dette kan være nødvendig hvis ld går tom for minnesplass mens du kobler en stor kjørbar - o-utgang Bruk utdata som navnet på programmet produsert av ld hvis dette alternativet er ikke spesifisert, navnet brukes som standard Skriptkommandoen OUTPUT kan også spesifisere utdatafilenavnet - formatutdataformat ld kan være konfigurert til å støtte mer enn en type objektfil Hvis din ld er konfigurert på denne måten, kan du bruke alternativet - oformat for å angi det binære formatet for utdatobjektfilen Selv når ld er konfigurert til å støtte alternative objektformater, trenger du vanligvis ikke å spesifisere dette, da ld skal konfigureres til å produsere som en standard utdataformat Det vanligste formatet på hvert maskinutdataformat er en tekststreng, navnet på et bestemt format støttet av BFD-bibliotekene. Du kan liste de tilgjengelige binære formatene med objdump - i Skriptkommandoen OUTPUTFORMAT kan også spesifisere utdataformatet , men dette alternativet tilsidesætter det Se avsnitt BFD - R filnavn Les symbolnavn og deres adresser fra filnavnet, men ikke flytte det eller ta det med i utgangen. Dette gjør at utdatafilen din kan referere symbolsk til absolutt plassering av minne som er definert i andre programmer. Et alternativ med maskinavhengige effekter På enkelte plattformer utfører alternativet - relax globale optimaliseringer som blir mulige når linkeren løser adressering i programmet, for eksempel avslappende adressemoduser og syntetisering av nye instruksjoner i utdataobjektfilen - retain-symbols-fil filnavn Behold bare symbolene som er oppført i filfilen, og kaste bort alle andre filnavn er bare en flatfil, med ett symbolnavn per linje Dette alternativet er spesielt nyttig i miljøer der et stort globalt symboltabell akkumuleres gradvis, for å spare kjøretidsminnet - hold-symboler-filen, kasserer ikke udefinerte symboler eller symboler som trengs for flytting Du kan bare angi - retain-symbols-filen en gang i kommandolinjen Overstyrer - s og - S - r Generer flyttbar utgang - dvs. generere en utdatafil som i sin tur kan tjene som input til ld Dette kalles ofte delvis kobling Som en bivirkning, i miljøer som støtter standard Unix Magic tall, dette alternativet angir også utdatafilens magiske nummer til OMAGIC Hvis dette alternativet ikke er spesifisert, produseres en absolutt fil Ved kobling av C-programmer, vil dette alternativet ikke løse referanser til konstruktører for å gjøre det, bruk - Ur Dette alternativet gjør det samme som - i - S Omit debugger-symbolinformasjon, men ikke alle symboler fra utdatafilen - s Slett all symbolinformasjon fra utdatafilen - delte opp Lag et delt bibliotek Dette støttes for øyeblikket bare på ELF og SunOS p latforms På SunOS, vil linkeren automatisk opprette et delt bibliotek hvis - e-alternativet ikke er brukt og det er udefinerte symboler i link - ort-common. Når ld plasserer de globale vanlige symbolene i de riktige utgangsseksjonene, sorterer den dem etter størrelse Først kommer alle de en bytesymbolene, så alle de to bytes, så alle de fire bytes, og så alt annet. Dette er for å hindre hull mellom symboler på grunn av justeringsbegrensninger. Dette alternativet deaktiverer den sorteringen - split-by-reloc counten Trys å skape ekstra seksjoner i utdatafilen slik at ingen enkelt utgangsseksjon i filen inneholder mer enn telleflyttinger Dette er nyttig når du genererer store relokatable for nedlasting i bestemte sanntidskjerner med COFF-objektfilformatet siden COFF ikke kan representere mer enn 65535 flyttinger i en enkelt seksjon Merk at dette vil mislykkes i å fungere med objektfilformater som ikke støtter vilkårlig seksjoner Lenkeren vil ikke dele opp individuelle inngangsseksjoner for rødt istribution, så hvis en enkelt inngangsseksjon inneholder mer enn telleflyttinger, vil en utgangsseksjon inneholde at mange flyttinger - splitt-for-fil ligner på-splitt-for-relok, men oppretter en ny utgangsseksjon for hver inngangsfil - statistikk Beregn og vis statistikk om driften av linkeren, for eksempel kjøretid og minnebruk - Tbss org - Tdata org - Ttext org Bruk org som startadresse for - henholdsvis - bss-data eller tekstsegmentet i utdatafilen org må være et enkelt hexadecimalt heltall for kompatibilitet med andre linkere, kan du utelate den ledende 0x som vanligvis er assosiert med heksadesimale verdier - T kommandofil - T kommandofil Les lenkekommandoer fra filkommandofilen Disse kommandoene erstatter ld s standardlenkeskript heller enn å legge til det, så kommandofil må spesifisere alt som er nødvendig for å beskrive målformatet Se delen Kommandospråk Hvis kommandofilen ikke eksisterer, ser ld etter det i katalogene som er angitt av noen foregående - L-alternativer Flere - T alternativer akkumuleres - t Skriv ut navnene på inngangsfiler som ld behandler dem - tradisjonelt format For noen mål er utgangen av ld forskjellig på noen måter fra utgangen av noen eksisterende linker Denne bryteren ber om at ld skal bruke det tradisjonelle formatet istedenfor For For eksempel, på SunOS kombinerer ld duplikatoppføringer i symbolstrengetabellen. Dette kan redusere størrelsen på en utdatafil med full feilsøkingsinformasjon med over 30 prosent. Dessverre kan SunOS dbx-programmet ikke lese det resulterende programmet gdb har ingen problemer med den - radisjonelle - formatbryter forteller ld å ikke kombinere duplikatoppføringer - t symbol Kraftsymbol som skal angis i utdatafilen som et udefinert symbol Gjør dette kan for eksempel utløse kobling av tilleggsmoduler fra standardbiblioteker-du kan gjentas med forskjellige alternativargumenter for å skrive inn flere udefinerte symboler-For annet enn C-programmer, svarer dette alternativet til - r det genererer flyttbar utgang - det vil si en utdatafil som i sin tur kan s erve som input til ld Når du kobler C-programmer, løser du referanser til konstruktører, i motsetning til - r Det virker ikke å bruke - Er på filer som var knyttet til - Un gang konstruktørbordet er bygget, kan det ikke legges til å bruke - Er bare for den siste delvise lenken, og - r for de andre --verbose Vis versjonnummeret for ld og oppgi linkeremuleringene støttet. Vis hvilke innspillingsfiler som kan og ikke kan åpnes - v - V Vis versjonsnummeret for ld - V-alternativet viser også støttede emuleringer - versjon Vis versionsnummeret for ld og exit - warn-common Advarsel når et felles symbol kombineres med et annet vanlig symbol eller med en symboldefinisjon Unix-linkere tillater dette noe slurvet praksis, men linkere På noen andre operativsystemer, ikke Dette alternativet gjør det mulig å finne potensielle problemer ved å kombinere globale symboler. Dessverre bruker noen C-biblioteker denne praksisen, så du kan få advarsler om symboler i bibliotekene og i proffene dine gram Det er tre typer globale symboler, illustrert her med C-eksempler int i 1 En definisjon som går i den initialiserte dataseksjonen av utdatafilen ekstern int I En udefinert referanse som ikke tilordner plass Det må være en definisjon eller et vanlig symbol for variabelen et sted int et Et felles symbol Hvis det bare er ett eller flere vanlige symboler for en variabel, går det i det uinitialiserte datafeltet av utdatafilen Linker slår sammen flere vanlige symboler for samme variabel i et enkelt symbol Hvis de er av forskjellige størrelser, velger den den største størrelsen Linkeren gjør et felles symbol i en deklarasjon, hvis det er en definisjon av den samme variabelen. - Varsel-vanlig alternativet kan produsere fem typer advarsler. Hver advarsel består av et par linjer den første beskriver symbolet som bare oppstod, og det andre beskriver det forrige symbolet som oppstår med samme navn. En eller begge symbolene vil være et vanlig symbol. Opprette et felles symbol i en referanse, fordi det allerede er en definisjon for symbolet. Retning av et felles symbol i en referanse, fordi det oppstår en senere definisjon for symbolet. Dette er det samme som forrige tilfelle, bortsett fra at symbolene møtes i en annen rekkefølge. Sammenslåing av et felles symbol med et tidligere felles stort symbol. Gjengivelse av et felles symbol med et tidligere større felles symbol. Lag et felles symbol med et tidligere mindre vanlig symbol Dette er det samme som forrige tilfelle, bortsett fra at symbolene er oppstått i en annen rekkefølge.-advarselskonstruktører Advarer om noen globale konstruktører blir brukt. Dette er bare nyttig for noen objektfilformater. For formater som COFF eller ELF, kan linkeren ikke oppdage bruken av globale konstruktører - advarsel-en gang Bare advarsel en gang for hvert udefinert symbol, i stedet for en gang per modul som refererer til den. For hvert arkiv som er nevnt på kommandolinjen, inkludere hver objektfil i arkivet i lenken, i stedet for å søke i arkivet for kravet røde objektfiler Dette brukes normalt til å slå en arkivfil i et delt bibliotek, og tvinger hvert objekt til å bli inkludert i det resulterte delte biblioteket - X Slett alle midlertidige lokale symboler For de fleste mål er dette alle lokale symboler hvis navn begynner med L - x Slett alle lokale symboler - et symbol Skriv ut navnet på hver lenket fil i hvilket symbol som vises. Dette alternativet kan gis et antall ganger På mange systemer er det nødvendig å forhåndstegne et understreke Dette alternativet er nyttig når du har et udefinert symbol i din link, men vet ikke hvor referansen kommer fra - arkiver - - startgruppe-arkiver --end-gruppe Arkivene bør være en liste over arkivfiler De kan være enten eksplisitte filnavn eller - l-alternativer De angitte arkivene er søkte gjentatte ganger til ingen nye udefinerte referanser er opprettet Normalt søkes et arkiv bare en gang i den rekkefølgen den er angitt på kommandolinjen Hvis et symbol i det arkivet er nødvendig for å løse et udefinert symbol som refereres til b y et objekt i et arkiv som vises senere på kommandolinjen, ville linkeren ikke kunne løse denne referansen Ved å gruppere arkivene, blir de alle søkt gjentatte ganger til alle mulige referanser er løst. Ved hjelp av dette alternativet har det en betydelig ytelseskost. Det er best å bruke det bare når det er uunngåelige sirkulære referanser mellom to eller flere arkiver Gå til første forrige neste siste seksjon, innholdsfortegnelse.

No comments:

Post a Comment