[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/coff-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/coff-wikipedia\/","headline":"Coff – Wikipedia","name":"Coff – Wikipedia","description":"before-content-x4 Akronim Uczczenie pami\u0119ci (z angielskiego C Ommon O Bject F z F Ormat ) Wskazuje specyfikacje niekt\u00f3rych typ\u00f3w plik\u00f3w","datePublished":"2023-02-12","dateModified":"2023-02-12","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/coff-wikipedia\/","wordCount":1241,"articleBody":" (adsbygoogle = window.adsbygoogle || []).push({});before-content-x4Akronim Uczczenie pami\u0119ci (z angielskiego C Ommon O Bject F z F Ormat ) Wskazuje specyfikacje niekt\u00f3rych typ\u00f3w plik\u00f3w u\u017cywanych w systemach operacyjnych UNIX: pliki wykonywalne, pliki kodu obiektu i plik udost\u0119pnionych rega\u0142\u00f3w. Coff zosta\u0142 wprowadzony do systemu UNIX IV i by\u0142a podstaw\u0105 format\u00f3w rozszerzonych XCOFF i ECOFF, zanim zosta\u0142a zast\u0105piona formatem ELF, wprowadzonym za pomoc\u0105 systemu Unix V.Jednak w niekt\u00f3rych systemach podobnych do system\u00f3w i jej warianty s\u0105 nadal u\u017cywane w systemach UNIX i w systemie Microsoft. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Oryginalny format UNIX dla plik\u00f3w kodu obiektowego, nazywany A.out , mia\u0142 bardzo prost\u0105 struktur\u0119, nieodpowiednia dla technologii, takich jak symboliczne debugowanie i wsp\u00f3lne ksi\u0119garnie. Od rozwoju Unix- tak jak Mia\u0142o to miejsce w kilku lokalizacjach (wewn\u0105trz i na zewn\u0105trz AT&T) wdro\u017cono r\u00f3\u017cne rozwi\u0105zania, aby zrekompensowa\u0107 ograniczenia A.UUT. Coff zosta\u0142 wprowadzony w systemie UNIX V, wyprodukowanym przez AT&T, dla 32 -bitowych platform innych ni\u017c 3B20. [[[ bez \u017ar\u00f3d\u0142a ] Ulepszenia w formacie AT&T A. Out obejmowa\u0142o natywne wsparcie dla: Informacje niezb\u0119dne do symbolicznego debugowania Udost\u0119pnione rega\u0142y Mechanizm rozszerzenia Jednak chocia\u017c Coff by\u0142a ulepszeniem w por\u00f3wnaniu do A.UUT, architektura by\u0142a nadal zbyt ograniczona: istnia\u0142a limit maksymalnej liczby sekcji, limit w d\u0142ugo\u015bci nazw sekcji i obs\u0142uga wstawienia informacji Dla symbolicznego debugowania nie by\u0142o kompatybilne z nowymi j\u0119zykami, takimi jak C ++. Aby przezwyci\u0119\u017cy\u0107 te ograniczenia AT&T wraz z wydaniem systemu V Release 4 r\u00f3wnie\u017c wyda\u0142o format ELF; IBM u\u017cy\u0142 XCOFF w formacie AIX, DEC, SGI, a inne zastosowa\u0142y format ECOFF; Inne systemy poprawi\u0142y formaty w\u0142a\u015bcicieli wykonywalnych i nie przeno\u015bne na innych platformach. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Podczas gdy rozszerzone wersje Coff s\u0105 nadal u\u017cywane w wielu unix- tak jak , g\u0142\u00f3wnie wbudowane systemy, by\u0107 mo\u017ce najbardziej masywnym zastosowaniem formatu my\u015bli jest dzi\u015b wykonany w systemie Windows z formatem PE. Opracowany dla systemu Windows NT, format PE (czasami wspomniany jako PE\/Coff) wykorzystuje siedzib\u0119 Coff do plik\u00f3w obiektowych i w plikach wykonywalnych, schemat nag\u0142\u00f3wka Coff jest zawarty w najwi\u0119kszym schemacie nag\u0142\u00f3wka PE. [[[ bez \u017ar\u00f3d\u0142a ] G\u0142\u00f3wna poprawa Coff w por\u00f3wnaniu do A.out By\u0142o to wprowadzenie kilku sekcji wymienionych w pliku obiektu. Kilka plik\u00f3w obiekt\u00f3w mo\u017ce mie\u0107 r\u00f3\u017cne ilo\u015bci i typy sekcji. Informacje dla debugowanie symboliczny [[[ zmiana |. Modifica Wikitesto ] Informacje dla debugowanie Symboliczne pliki trumny sk\u0142adaj\u0105 si\u0119 z symbolicznych nazw (ci\u0105g\u00f3w) powi\u0105zanych z funkcjami i zmiennymi programu oraz informacji o numerach linii, u\u017cywanych do ustawiania [punkt przerwania] oraz do \u015bledzenia podczas wykonywania. Format A.out nie zapewnia\u0142 natywnego wsparcia dla debugowanie symboliczne, nawet je\u015bli limit ten mo\u017cna cz\u0119\u015bciowo przekroczy\u0107 mechanizmy u\u017cytkowania, takie jak d\u017agni\u0119cia (Wpisy do tabeli symboli). Nazwy symboliczne s\u0105 zachowane w tabeli symboli. Ka\u017cda pozycja tabeli symboli zawiera nazw\u0119, klas\u0119 pami\u0119ci, typ, warto\u015b\u0107 i numer sekcji. Kr\u00f3tkie nazwy (o\u015bmiu znak\u00f3w lub nie) s\u0105 zapisywane bezpo\u015brednio w tabeli symboli; D\u0142ugie nazwy s\u0105 zapisywane w formie adresu, kt\u00f3ry ma na celu przy stoliku ci\u0105gu obecnym na ko\u0144cu obiektu Coff. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4Klasa przechowywania opisuje rodzaj encji, kt\u00f3r\u0105 reprezentuje symbol, kt\u00f3ry mo\u017ce by\u0107 c_ext (zmienna zewn\u0119trzna), c_auto (zmienna automatyczna stos ), C_REG (zmienna rejestru), c_fcn (funkcja)) i wiele innych. Typ przewiduje, jak ma by\u0107 interpretowany warto\u015b\u0107 powi\u0105zana z symbolem, i mo\u017cliwe jest rozpoznanie ka\u017cdego z typ\u00f3w C. Po skompilowaniu odpowiednich opcji plik obiektowy COFF zawiera informacje o numerze linii dla ka\u017cdego mo\u017cliwego punkt przerwania obecne w sekcji tekst pliku obiektu. Informacje o liczbach online s\u0105 w dw\u00f3ch formach: w pierwszym dla ka\u017cdego mo\u017cliwego punkt przerwania Pozycja w wierszu numer\u00f3w linii zawiera adres punktu przerwania i odpowiedni numer wiersza. W drugiej formie element z kolei wskazuje pozycj\u0119 tabeli symboli, kt\u00f3ra reprezentuje pocz\u0105tek funkcji, umo\u017cliwiaj\u0105c w ten spos\u00f3b skonfigurowanie punkt przerwania u\u017cywaj\u0105c nazwy samej funkcji. Nale\u017cy zauwa\u017cy\u0107, \u017ce format Coff nie by\u0142 w stanie przedstawi\u0107 numer\u00f3w wiersza ani symboli debugowania dla \u017ar\u00f3d\u0142a zawartych w plikach nag\u0142\u00f3wkowych, tworz\u0105c informacje o debugowaniu pliku Coff praktycznie bezu\u017cyteczne bez u\u017cycia niekompatybilnych rozszerze\u0144. Wzgl\u0119dne adresy wirtualne (RVA) [[[ zmiana |. Modifica Wikitesto ] Po wygenerowaniu pliku pochylenia zwykle nie wiadomo, w kt\u00f3rej cz\u0119\u015bci pami\u0119ci zostanie za\u0142adowana. Wirtualny adres, w kt\u00f3rym pierwszy bajt Plik zostanie za\u0142adowany, nazywa si\u0119 podstawowym adresem pliku obrazu. Reszta pliku niekoniecznie b\u0119dzie obecna w ci\u0105g\u0142ym bloku pami\u0119ci, ale w r\u00f3\u017cnych sekcjach pami\u0119ci. Adres RVA ( Wzgl\u0119dny adres wirtualny ) Nie mo\u017cna myli\u0107 ze wsp\u00f3lnymi adresami wirtualnymi. Adres RVA jest wirtualnym adresem obiektu pliku po za\u0142adowaniu w pami\u0119ci, mniej podstawowym adresem pliku obrazu. Je\u015bli plik musi by\u0107 wiernie zmapowany z dysku na pami\u0119\u0107, RVA b\u0119dzie identyczne z przesuni\u0119ciem w pliku, ale jest to w rzeczywisto\u015bci do\u015b\u0107 niezwyk\u0142e. Zauwa\u017c, \u017ce termin RVA jest u\u017cywany tylko dla obiekt\u00f3w w pliku obrazu. Po za\u0142adowaniu w pami\u0119ci dodaje si\u0119 podstawowy adres pliku obrazu i u\u017cywane s\u0105 zwyk\u0142e adresy wirtualne. (adsbygoogle = window.adsbygoogle || []).push({});after-content-x4"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/all2pl\/wiki27\/coff-wikipedia\/#breadcrumbitem","name":"Coff – Wikipedia"}}]}]