Monday 14 August 2017

Obj Binario Options


Importazione Wavefront Object (OBJ) File geometria importata da file OBJ appare in 3ds Max come maglia modificabile o oggetti poli modificabili. Importazione di materiali associati e mappe è supportato. Nota Quando si importa un file OBJ mediante trascinamento. Per impostazione predefinita, l'importatore non visualizza la finestra di dialogo Opzioni di importazione OBJ. Per visualizzare la finestra di dialogo, tenere premuto il tasto Ctrl mentre si trascina. Per importare un file OBJ: Seleziona file da importare apre la finestra. Scegliere un file OBJ per aprire e fare clic apre la finestra di importatore Open. The. Scegliere gli oggetti da importare e impostare i parametri di importazione. Per i dettagli, vedere la sezione di interfaccia, in seguito. Fare clic Import. During importazione, un progresso finestra di dialogo che mostra ei nomi di oggetti importati apre. Se si verifica un conflitto di nomi, una finestra si apre dando la possibilità di saltare o rinominare l'oggetto. Icone LED per Opzioni La finestra di dialogo indica quali caratteristiche si trovano nel file OBJ per mezzo di icone rosse e verdi che sembrano LED. Questa funzione è presente nel file OBJ. Questa caratteristica non è presente nel file OBJ. Elimina la scena corrente dalla memoria prima di importare il file OBJ. L'importatore antepone qualsiasi testo inserito qui per il nome di ogni oggetto importato. Importa come rete singola Quando è attiva, l'importatore unisce il contenuto del file OBJ in un unico oggetto mesh modificabile, e dà l'oggetto lo stesso nome del file (senza l'estensione del nome del file). Ad esempio, se si importa come una singola rete un file di nome windowparts. obj. tutti gli oggetti separati nel file OBJ vengono combinati in un unico oggetto mesh modificabili windowparts nome. Importa come modificabile Poly Quando è attiva, importa la geometria Wavefront come oggetti modificabili Poly piuttosto che oggetti modificabili Mesh. Defaultoff. Quando è attivo, assicura che i poligoni importati sono triangolari, come in superfici modificabile Poly. Questo può essere utile quando si importa maglie da un programma di modellazione che pretende molto garantire poligoni triangolari. Defaulton. Attenzione Retriangulate poligoni possono modificare l'ordine dei vertici, in modo che quando questa opzione è attiva, l'esportazione di una maglia indietro al formato OBJ solito abbinare la maglia originale esattamente. Alcune applicazioni, come ad esempio Mudbox e ZBrush. dipenderà ordine dei vertici: se si lavora con uno di questi, assicurarsi di spegnere Retriangulate poligoni. Suggerimento Quando si importare ed esportare file OBJ utilizzati con una particolare applicazione, utilizzare le impostazioni predefinite per garantire la coerenza. Appena sopra la lista di oggetti in file, che appaiono come campi di sola lettura, sono il nome del file OBJ e il numero totale di facce nel file. Gli oggetti presenti nel file OBJ importato appaiono in questo elenco a scorrimento. Ogni voce è costituito da un nome di oggetto e il numero di facce in oggetto, oltre a una casella di controllo a sinistra del nome dell'oggetto per abilitare e disabilitare l'importazione per oggetto. Per impostazione predefinita, l'importazione è attivata per tutti gli oggetti presenti nel file. Per attivare l'importazione di un singolo oggetto, fare clic sulla relativa casella di controllo nella lista. È inoltre possibile utilizzare i controlli nella parte inferiore dell'elenco per attivare e disattivare l'importazione (vedi in seguito). Utilizzare questi pulsanti per modificare lo stato delle caselle di importazione EnableDisable. Tutte le abilitazioni tutti gli oggetti nella lista None disabilita tutti gli oggetti inverte lo stato di ogni casella di controllo. Inserire frasi di ricerca con carte jolly nel campo di testo modificabile a destra del pulsante Inverti per consentire solo gli oggetti che soddisfano i criteri di ricerca. Ad esempio, per consentire a tutti gli elementi della lista il cui nome inizia con la sfera, inserire sph. È inoltre possibile utilizzare il carattere di ricerca standard. per rappresentare un singolo carattere. Ad esempio, per consentire a tutti i nomi di quattro caratteri che iniziano con la scatola, utilizzare la casella di stringa di ricerca. Quando è attivo, trasferisce tutti i valori dell'asse Y all'asse Z e viceversa. Utilizzare questo durante l'importazione da Poser e altri programmi che utilizzano Y come asse verticale e Z come l'asse di profondità. Posiziona il perno di ogni oggetto importato al suo centro. Quando è off, i perni sono posizionati al centro del mondo: (0,0,0). Consente l'importazione di spline. Quando acceso, coordinate texture vengono caricate dal file importato, se presente, e associati con la geometria. Quando è attivo, le informazioni relative transizioni di colore tra i gruppi è stato caricato. Vedere Visualizzazione e modifica Smoothing. Questi controlli influenzano il modo in normali sono importati (o generato, se necessario). Importa da file (l'impostazione predefinita.) Importa le normali utilizzati nel file OBJ. Se il file OBJ non ha normali, genera normali utilizzando i gruppi di smoothing importati. Se il file OBJ non specifica i gruppi di smoothing, genera normali assegnando tutte le facce di lisciatura gruppo 1. Dal gruppo SM Genera normali da parte di gruppi di smoothing importati. Se il file OBJ non specifica gruppi smoothing, o si spegne Geometria Smoothing Gruppi, genera normali assegnando tutte le facce gruppo 1. lisciatura graduale sia in automatico genera levigante gruppi in base all'angolo tra le facce. valore Il angolo di soglia per generare gruppi smoothing: se l'angolo tra due facce è inferiore a questo valore, entrambi sono assegnati allo stesso gruppo di lisciatura. Se l'angolo è superiore a tale valore, le due facce sono assegnati per separare gruppi smoothing. Default30.0. Sfaccettate Tutte le facce sono assegnati a lisciare gruppo 0: cioè, viene applicata nessuna attenuazione, e la maglia importato ha un aspetto sfaccettato. Flip Normali Capovolge la normale di tutte le facce importati. Non importa se i normali vengono importati o generati. Questa opzione è principalmente per l'uso quando si importa un modello che appare dentro e fuori se non capovolgere le normali. Tali modelli solito risultato quando la geometria viene esportata da un'applicazione diversa da Maya o 3ds Max. Attivare per abilitare conversione di unità. Defaultoff. Unità del modello scegliere l'unità da utilizzare per l'importazione th e modello. Il più delle volte, si imposterà questo per l'unità utilizzata nel file OBJ originale. Quando Convert è fuori, determina la scala per il contenuto del file OBJ durante l'importazione. Il valore predefinito di 1,0 significa che non viene eseguita alcuna scala. Unique Colore Filo Determina i colori wireframe assegnati durante l'importazione di più oggetti senza materiali. Quando è attivo, ogni oggetto viene assegnato un diverso colore wireframe. Quando fuori, ogni oggetto viene assegnato lo stesso colore wireframe, scelto a caso. Quando è attivo, importazioni di materiali dal file MTL associato al file OBJ. Defaulton. Quando è off, i restanti comandi di questo gruppo sono disabilitati. Antepone il testo indicato il nome di ogni materiale importato. Inserire il prefisso nel campo di testo modificabile alla destra della casella di controllo Prefisso. La quantità predefinita di bump maps se il valore non è specificato nel file MTL. Forza ambiente nero Imposta la componente ambientale dei materiali importati al nero. Import in Mat-Editor porta materiali importati nel Material Editor. Se questo è spento in fase di importazione e in seguito si desidera modificare un materiale, è necessario utilizzare Get materiale di prima. Mostra le mappe nella vista Si accende Visualizza Mappa nella vista per i materiali importati mappe diffusa. mappe Copia per proiettare cartella Quando è attivo, copie mappe utilizzate dal file OBJ alla scenassetsimages sottocartella della cartella del progetto Max 3ds attuali. Defaultoff. Sovrascrivere immagini Quando Maps Copia proiettare cartella è attivata, attivando questa opzione, le mappe dal file OBJ per sovrascrivere immagini esistenti che hanno nomi duplicati. Defaultoff. Quando Mappe copia è su ma questa opzione è disattivata, 3ds Max visualizza i nomi di eventuali mappe che non ha ancora copia. Scrittura di registro di Import-cartella salva un file di log nella stessa cartella del file OBJ durante l'importazione tramite script. Quando si importa da una specifica applicazione, selezionare tale applicazione dal menu a discesa. Preset comprendono tutte le impostazioni di esportazione, tra geometria e materiali. Clicca per aprire una finestra di dialogo che permette di modificare le impostazioni predefinite. Per modificare il percorso carta per un preset, modificare la mappa-percorso impostando manualmente o fare clic sul pulsante della cartella nella parte destra della fila e passare al nuovo percorso. Mentre la finestra di preset è aperto, è possibile scegliere un preset facendo clic sul nome (i punti salienti di fila) e poi cliccando OK. Implementing opzioni AVOption prev ritorno. NULLO. ampchildclass Mettere childnext () e childclassnext () come sopra definito in testclass sarà ora fare childstructs opzioni accessibili attraverso teststruct (ancora una volta, l'installazione corretta come descritto sopra deve essere fatto a destra childstruct dopo la creazione). Dall'esempio di cui sopra potrebbe non essere chiaro il motivo per cui sono necessari sia childnext () e childclassnext (). La distinzione è che childnext () itera sugli oggetti realmente esistenti, mentre childclassnext () itera su tutte le possibili classi figlie. Per esempio. se un AVCodecContext è stata inizializzata ad utilizzare un codec che ha opzioni privati, allora la sua childnext () restituirà AVCodecContext. privdata e finire iterazione. OTOH childclassnext () su AVCodecContext. avclass si iterare su tutti i codec disponibili con opzioni di privati. Chiamato costanti E 'possibile creare costanti denominate per le opzioni. È sufficiente impostare il campo unità dell'opzione costanti dovrebbero applicarsi a una stringa e creare le costanti stessi come opzioni di tipo AVOPTTYPECONST con il loro campo di modulo impostato per la stessa stringa. Il loro campo ValDefault dovrebbe contenere il valore della costante di nome. Ad esempio, per aggiungere alcune costanti denominate per l'opzione TestFlags sopra, inserire il seguente nella matrice childopts: offsetof (childstruct, flagsopt), AVOPTTYPEFLAGS. , INTMIN, INTMAX, offerte quottestunitquot, Uso opzioni AVOption Questa sezione con le opzioni di accesso in una struct opzioni AVOption-enabled. Tali le strutture in FFmpeg sono ad esempio AVCodecContext in libavcodec o AVFormatContext in libavformat. Esaminando opzioni AVOption Le funzioni di base per le opzioni di esame sono avoptnext (). che itera su tutte le opzioni definite per un oggetto, e avoptfind (). che le ricerche per un'opzione con il nome dato. La situazione è più complicata di nidificazione. Una struct opzioni AVOption abilitato può avere figli opzioni AVOption-enabled. Passando la bandiera AVOPTSEARCHCHILDREN a avoptfind () renderà i figli di ricerca la funzione in modo ricorsivo. Per enumerare ci sono fondamentalmente due casi. Il primo è quando si desidera ottenere tutte le opzioni che potenzialmente possono esistere sul struct ed i suoi figli (ad esempio quando costruire la documentazione). In questo caso si dovrebbe chiamare avoptchildclassnext () in modo ricorsivo sulle struct genitore AVClass. Il secondo caso è quando si dispone di una struct già inizializzato con tutti i suoi figli e si desidera ottenere tutte le opzioni che possono essere effettivamente scritto o leggere da esso. In questo caso si dovrebbe chiamare avoptchildnext () in modo ricorsivo (e avoptnext () su ogni risultato). Lettura e scrittura opzioni AVOption Quando si impostano le opzioni, si hanno spesso una stringa leggere direttamente dall'utente. In tal caso, semplicemente passando a avoptset () è sufficiente. Per le opzioni di tipo non stringa, avoptset () sarà analizzare la stringa in base al tipo di opzione. Allo stesso modo avoptget () leggerà qualsiasi tipo di opzione e convertirlo in una stringa che verrà restituita. Non dimenticate che la stringa è assegnato, in modo da avere a liberarlo con avfree (). In alcuni casi può essere più conveniente di mettere tutte le opzioni in un AVDictionary e chiamare avoptsetdict () su di esso. Un caso specifico di questo sono le formatcodec funzioni aperte in lavflavc che prendono un dizionario pieno di opzione come parametro. Questo permette di impostare alcune opzioni che non possono essere impostate diversamente, poiché ad esempio il formato del file di input non è noto prima che il file sia effettivamente aperto. Macro documentazione Definizione Il valore da impostare. Se il campo non è di un tipo stringa, quindi la stringa data viene analizzata. SI suffissi e sono supportati alcuni scalari nome. Se il campo è di tipo numerico, deve essere uno scalare numerico o nome. Comportamento con più di un scalare e operatori infissi - non è definito. Se il campo è di tipo bandiere, deve essere una sequenza di scalari numerici o bandiere denominate separati da o -. Anteponendo una bandiera con cause di essere impostato senza influenzare le altre bandiere simile, - disinserisce una bandiera. se non NULL messo qui un puntatore alla pista AVOption foundC: la compilazione di programmi C. E 'importante capire che mentre alcuni linguaggi di programmazione (ad esempio regime o di base) sono normalmente utilizzati con un interprete interattivo (in cui si digita in comandi che vengono eseguiti immediatamente), C non funziona in questo modo. file di codice sorgente C sono sempre compilati in codice binario da un programma chiamato compilatore e poi giustiziato. Questo è in realtà un processo multi-step che descriveremo in dettaglio qui. I diversi tipi di file Compilare programmi C richiede di lavorare con quattro tipi di file: file di codice sorgente regolare. Questi file contengono definizioni di funzioni, e hanno nomi che terminano in. c per convenzione. file di intestazione. Questi file contengono dichiarazioni di funzioni (noto anche come prototipi di funzione) e varie dichiarazioni del preprocessore (vedi sotto). Essi sono utilizzati per consentire file di codice sorgente per accedere alle funzioni definite esternamente. file di intestazione terminano in. h per convenzione. File oggetto. Questi file vengono prodotti come output del compilatore. Sono costituiti da definizioni di funzioni in forma binaria, ma non sono eseguibili da soli. file oggetto terminano in. o per convenzione, anche se su alcuni sistemi operativi (ad esempio Windows, MS-DOS), spesso finiscono in obj. eseguibili binari. Questi sono prodotti come l'uscita di un programma chiamato linker. Il linker collega insieme un certo numero di file oggetto per produrre un file binario che può essere eseguito direttamente. eseguibili binari non hanno alcun suffisso speciale sui sistemi operativi Unix, anche se generalmente terminano in. exe su Windows. Ci sono altri tipi di file, come pure, in particolare le biblioteche (.a file) e le librerie condivise (.so file), ma voi non normalmente bisogno di trattare direttamente con loro. Il preprocessore Prima che il compilatore C inizia la compilazione di un file di codice sorgente, il file viene elaborato da un preprocessore. Questo è in realtà un programma separato (normalmente chiamato CPP, per C preprocessore), ma viene richiamato automaticamente dal compilatore prima della compilazione comincia corretta. Quello che il preprocessore non fa altro che convertire il file di codice sorgente che si scrive in un altro file di codice sorgente (si può pensare ad esso come un file di codice sorgente modificato o espanso). Questo file modificato può esistere come un file reale nel file system, oppure può essere memorizzata solo in memoria per un breve periodo prima di essere inviato al compilatore. In entrambi i casi, non dovete preoccuparvi di questo, ma si deve sapere quali sono i comandi del preprocessore fanno. i comandi del preprocessore iniziano con il cancelletto (). Ci sono diversi comandi preprocessore due tra i più importanti sono: definire. Questo è principalmente usato per definire costanti. Ad esempio, specifica che ovunque il bignum stringa di caratteri viene trovato nel resto del programma, 1000000 dovrebbe essere sostituita per esso. Per esempio, l'istruzione: definire è usato in questo modo per evitare di dover scrivere esplicitamente un valore costante in molti luoghi diversi in un file di codice sorgente. Questo è importante nel caso in cui è necessario modificare il valore costante in seguito la sua molto meno soggetto ad errori di cambiare una volta, nel definire. piuttosto che dover cambiare in più posti sparsi in tutto il codice. includere . Questo viene utilizzato per accedere definizioni di funzioni definite al di fuori di un file di codice sorgente. Per esempio: fa sì che il preprocessore per incollare il contenuto del ltstdio. hgt nel file di codice sorgente nella posizione del l'istruzione include prima che venga compilato. Includi è quasi sempre utilizzato per includere i file di intestazione, che sono file che contengono principalmente dichiarazioni di funzione e definire istruzioni. In questo caso, usiamo includiamo in modo da essere in grado di utilizzare le funzioni come printf e scanf. le cui dichiarazioni si trovano nel file stdio. h. Compilatori C non consentono l'utilizzo di una funzione a meno che non sia stata precedentemente dichiarata o definita in quel file includono affermazioni sono quindi il modo di riutilizzare codice precedentemente scritto nei vostri programmi C. Ci sono una serie di altri comandi del preprocessore pure, ma ci si occuperà con loro come abbiamo bisogno di loro. Rendere il file oggetto: il compilatore Dopo che il preprocessore C ha incluso tutti i file di intestazione e ampliato fuori tutto il definire e includere le dichiarazioni (così come tutti gli altri comandi del preprocessore che potrebbero essere nel file originale), il compilatore può compilare il programma. Lo fa girando il codice sorgente C in un file di codice oggetto, che è un file con estensione. o che contiene la versione binaria del codice sorgente. Il codice oggetto non è direttamente eseguibile, però. Al fine di rendere un file eseguibile, si deve anche aggiungere il codice per tutte le funzioni di libreria che erano includono d nel file (questo non è lo stesso come comprendente le dichiarazioni, che è quello che comprende lo fa). Questo è il lavoro del linker (vedere la sezione successiva). In generale, il compilatore è invocato come segue: dove è il prompt di UNIX. Questo dice al compilatore di eseguire il preprocessore sul file foo. c e quindi compilarlo in file di codice oggetto foo. o. L'opzione - c indica per compilare il file di codice sorgente in un file oggetto, ma non per invocare il linker. Se l'intero programma è in file di codice una fonte, si può invece fare questo: Questo dice al compilatore di eseguire il preprocessore su foo. c. compilarlo e poi collegarlo per creare un eseguibile chiamato foo. L'opzione - o afferma che la parola successiva sulla linea è il nome del file binario eseguibile (programma). Se non specificare la - o. vale a dire se si digita foo. c. gcc l'eseguibile sarà chiamato a. out per stupide ragioni storiche. Si noti inoltre che il nome del compilatore che stiamo usando è gcc. che sta per GNU C compiler o collezione di compilatori GNU a seconda di chi si ascolta. Altri compilatori C esistono molti di loro hanno il nome cc. per compilatore C. Su Linux sistemi cc è un alias per gcc. Mettere tutto insieme: il linker Il lavoro del linker è quello di collegare tra loro un gruppo di file oggetto (file. o) in un binario eseguibile. Ciò include sia i file oggetto che il compilatore creato dal codice sorgente di file e file di oggetti che sono stati pre-compilati per voi e raccolti in file di libreria. Questi file hanno nomi che terminano in. ao. so. e voi non normalmente bisogno di sapere su di loro, come il linker sa dove si trovano la maggior parte di loro e li collegherà automaticamente a seconda delle necessità. Come il preprocessore, il linker è un programma separato chiamato LD. Inoltre, come il preprocessore, il linker viene richiamato automaticamente quando si utilizza il compilatore. Il modo normale di usare il linker è il seguente: Questa linea dice al compilatore di collegare tra loro tre file oggetto (foo. o. bar. o. e baz. o) in un file binario eseguibile denominato myprog. Ora avete un file chiamato myprog che è possibile eseguire e che si spera fare qualcosa di Andor fresco utile. Questo è tutto quello che dovete sapere per iniziare a compilare i propri programmi C. In generale, si consiglia inoltre di utilizzare l'opzione della riga di comando - Wall: L'opzione - Wall fa sì che il compilatore di guardia su costrutti codice legale ma dubbie, e vi aiuterà a prendere un sacco di bug molto presto. Se si vuole essere ancora più anale (e chi pretende molto), fare questo: L'opzione - Wstrict-prototipi significa che il compilatore vi avvertirà se havent scritto prototipi corretti per tutte le funzioni. Le opzioni - ansi e - pedantic causano il compilatore di mettere in guardia su qualsiasi costrutto non portabile (ad esempio costrutti che può essere legale in gcc, ma non in tutti i compilatori C standard di solito dovrebbe essere evitato tali caratteristiche). Riferimenti Kernighan e Ritchie, The C Programming Language, 2nd Ed. La pagina man per gcc. Tipo: uomo gcc al prompt di UNIX. La documentazione GNU Info su gcc. Attenzione Questo è molto più informazioni di quanto si potrebbe eventualmente assorbire nel millennio media. documentazione Info su gcc si può accedere attraverso l'editor Emacs GNU digitando Mx info (dove Mx significa colpire il tasto meta e X contemporaneamente), o Ch i (dove Ch significa premere il tasto di controllo e i contemporaneamente), seguito da mgccltreturngt. Tipo minfoltreturngt invece per un rapido giro di come utilizzare informazioni. È inoltre possibile accedere alla documentazione informazioni dalla riga di comando UNIX digitando informazioni gcc. objdump visualizza informazioni su uno o più file oggetto. Le opzioni controllano quale particolare le informazioni da visualizzare. Questa informazione è particolarmente utile per i programmatori che stanno lavorando ai tool di compilazione, al contrario di programmatori che vogliono solo il loro programma per compilare e lavoro. objfile. sono i file oggetto da esaminare. Quando si specifica archivi, objdump sono riportate le informazioni su ciascuno dei file oggetto membro. Le forme lunghe e corte di opzioni, qui mostrate come alternative, sono equivalenti. Almeno un opzione dalla lista - a, - d, - D, - e, - f, - g, - G, - h, - H, - p, - P, - r, - R, - s, - S, - t, - T, - V, - x deve essere data. - a --archive-header Se uno qualsiasi dei file objfile sono archivi, visualizzare le informazioni di intestazione archivio (in un formato simile a ls - l). Oltre alle informazioni è possibile elencare con tv ar, objdump - a mostra il formato di file oggetto di ogni membro dell'archivio. --adjust-VMA compensate quando il dumping informazioni, aggiungere prima offset per tutti gli indirizzi di sezione. Questo è utile se gli indirizzi sezione non corrispondono alla tabella dei simboli, che può accadere quando mettere sezioni a particolari indirizzi quando si utilizza un formato che non può rappresentare gli indirizzi di sezione, come ad esempio a. out. - b bfdname --target bfdname specificare che il formato object-code per i file oggetto è bfdname. Questa opzione potrebbe non essere necessaria objdump in grado di riconoscere automaticamente molti formati. visualizza le informazioni di riepilogo delle intestazioni di sezione (H) di fu. o. che è esplicitamente identificato (-m) come file oggetto VAX nel formato prodotto da compilatori Oasys. Si possono elencare i formati disponibili con l'opzione - i. Vedere Target Selection. per maggiori informazioni. - C Decode --demangle stile (demangle) i nomi dei simboli di basso livello in nomi a livello utente. Oltre a rimuovere ogni underscore iniziale aggiunto dal sistema, questo rende nomi di funzioni C leggibile. Diversi compilatori hanno differenti stili di codifica. L'argomento opzionale dello stile di decodifica può essere usato per scegliere uno stile appropriato di decodifica per il proprio compilatore. Vedi cfilt. Per ulteriori informazioni su di decodifica. - g --debugging display informazioni di debug. Questo tenta di analizzare coltellate e IEEE informazioni sul formato di debug memorizzate nel file e stamparlo utilizzando una C come sintassi. Se nessuno di questi formati si trovano questa opzione ricade l'opzione - W per stampare tutte le informazioni NANO nel file. - e --debugging-tag come - g. ma l'informazione è generato in un formato compatibile con lo strumento ctags. - d display --disassemble mnemonici assembler per le istruzioni macchina da objfile. Questa opzione smonta solo quelle sezioni che dovrebbero contenere le istruzioni. - D --disassemble-All - d come. ma disassemblare il contenuto di tutte le sezioni, non solo quelli attesi per contenere istruzioni. Questa soluzione ha anche un effetto sottile sulla smontaggio di istruzioni in sezioni di codice. Quando l'opzione - d è attiva objdump assumerà che tutti i segni presenti in una sezione di codice si verificano sul confine tra le istruzioni e rifiuterà di smontare attraverso tale limite. Quando l'opzione - D è in effetti però questa ipotesi è soppressa. Ciò significa che è possibile per l'uscita di - d e - D per diverso se, per esempio, i dati vengono memorizzati in sezioni di codice. Se il bersaglio è un'architettura ARM questo interruttore ha anche l'effetto di costringere il disassembler per decodificare frammenti di dati presenti nelle sezioni di codice come se fossero istruzioni. --prefix indirizzi Quando si smonta, stampare l'indirizzo completo su ogni riga. Questo è il formato di smontaggio più vecchio. - EB - EL --endian Specificare il endianness dei file oggetto. Questo riguarda solo lo smontaggio. Questo può essere utile quando smontare un formato di file che non descrive le informazioni endianness, come S-record. - f --file-header informazioni Display dall'intestazione complessiva di ciascuno dei file objfile. - F --file-Offset durante lo smontaggio sezioni, ogni volta che viene visualizzato un simbolo, mostrano anche il file di offset della regione di dati che è in procinto di essere oggetto di dumping. Se zeri vengono ignorati, poi quando lo smontaggio riprende, dire all'utente quanti zeri erano saltati e il file di offset del luogo da dove il disassemblaggio riprende. Quando scaricate sezioni, visualizzare il file di offset della posizione da cui inizia la discarica. --file-start-contesto di specificare che, quando la visualizzazione di fonte interlisted codedisassembly (assume - S) da un file che non è ancora stato visualizzato, estendere il contesto per l'inizio del file. - h --section-headers --headers informazioni Display dalle intestazioni di sezione del file oggetto. segmenti di file possono essere trasferiti a indirizzi non standard, ad esempio utilizzando il - Ttext. - Tdata. o opzioni - Tbss per ld. Tuttavia, alcuni formati di file oggetto, come ad esempio a. out, non conservare l'indirizzo iniziale dei segmenti di file. In tali situazioni, anche se ld trasferisce correttamente sezioni, utilizzando objdump - h per elencare le intestazioni di sezione del file non può mostrare gli indirizzi corretti. Invece, mostra i soliti indirizzi, impliciti per la destinazione. Nota, in alcuni casi è possibile che una sezione di avere sia la READONLY e NOREAD attributi set. In tali casi, l'attributo NOREAD ha la precedenza, ma objdump riporterà sia in quanto l'impostazione esatta dei bit di flag potrebbe essere importante. - H --help Stampa un riepilogo delle opzioni per objdump e uscire. - i --info Visualizza una lista che mostra tutte le architetture ei formati oggetto disponibili per la specifica con - b o - m. - j nome --section informazioni Nome visualizzato solo per nome della sezione. - l --line-numeri di etichette di display (utilizzando le informazioni di debug) con i numeri di nome file e di linea della sorgente corrispondente al codice oggetto o relocs mostrato. Utile solo con - d. - D. o - R. - m macchina --architecture macchina Specificare l'architettura da utilizzare durante lo smontaggio file oggetto. Questo può essere utile quando smontare file oggetto che non descrivono le informazioni di architettura, come la S-record. Si possono elencare le architetture disponibili con l'opzione - i. Se il bersaglio è un'architettura ARM allora questo interruttore ha un effetto aggiuntivo. Esso limita lo smontaggio ai soli istruzioni supportate dall'architettura specificato da macchina. Se è necessario utilizzare questo interruttore perché il file di input non contiene alcuna informazione architettura, ma è anche desiderato di smontare tutte le istruzioni utilizzano - marm. opzioni - M --disassembler-opzioni di opzioni di passare informazioni specifiche destinazione al disassemblatore. Supportato solo su alcuni obiettivi. Se è necessario specificare più di una opzione disassembler quindi più opzioni - M possono essere utilizzati o possono essere messi insieme in un elenco separato da virgole. Se il bersaglio è un'architettura ARM allora questo interruttore può essere usato per selezionare quale registrare il nome impostato viene utilizzato durante disassembler. Specificando - M Reg-nomi-STD (il default) selezionerà i nomi di registro ed usati nella documentazione set di istruzioni ARM, ma con il registro 13 chiamato sp, registrare 14 chiamato lr e registrare 15 chiamato pc. Specificando - M Reg-nomi-APC potranno selezionare il set di nome utilizzato dal ARM Procedure Call standard, ma devono specificare - M REG-nomi-prime vi basta usare R seguito dal numero di registro. Ci sono anche due varianti sul registro APCS denominazione schema abilitato per - M REG-nomi-atpcs e - M REG-nomi-special-atpcs che utilizzano le convenzioni di denominazione procedura ARMThumb chiamata standard. (In entrambi i casi con i nomi di registro normali oi nomi apposito registro). Questa opzione può essere utilizzata anche per le architetture ARM per forzare il disassembler di interpretare tutte le istruzioni come istruzioni Thumb utilizzando l'interruttore --disassembler-optionsforce-pollice. Ciò può essere utile quando si tenta di disassemblare codice pollice prodotte da altri compilatori. Per il 86, alcune delle opzioni duplicare funzioni dello switch - m, ma consentono un controllo più granulare. Più selezioni dal seguente possono essere specificati come una stringa separato da virgole. x86-64 i386 i8086 Selezionare lo smontaggio previsti per l'architettura. Intel att Scegliere tra la modalità sintassi Intel e modalità di sintassi ATampT. amd64 Intel64 Scegliere tra AMD64 ISA e Intel64 ISA. intel-mnemonico att-mnemonico Selezionare tra il modo mnemonico Intel e modalità mnemonico ATampT. Nota: intel-mnemonico implica Intel e att-mnemonico implica att. addr64 addr32 addr16 data32 DATO16 Specificare il formato indirizzo predefinito e la dimensione degli operandi. Queste quattro opzioni saranno sovrascritte se x86-64. i386 o i8086 compaiono più tardi nella stringa di opzione. suffisso In modalità ATampT, indica al disassembler per stampare un suffisso mnemonico anche quando il suffisso potrebbe essere dedotto dalle operandi. Per PowerPC, booke controlla lo smontaggio delle istruzioni Booke. 32 e 64 selezionare PowerPC e PowerPC64 lo smontaggio, rispettivamente. e300 seleziona lo smontaggio per la famiglia e300. 440 seleziona lo smontaggio per i PowerPC 440. PPCP seleziona lo smontaggio per le singole istruzioni accoppiati del PPC750CL. Per MIPS, questa opzione consente di controllare la stampa di nomi mnemonici istruzione e registrare i nomi di istruzioni smontati. Più selezioni dal seguente possono essere specificati come una stringa separati da virgola, e le opzioni non valide vengono ignorate: no-alias Stampa mnemonico istruzioni prima al posto di qualche mnemonico istruzioni pseudo. Cioè stampa daddu o o al posto di movimento, SLL invece di NOP, ecc istruzioni MSA Smontare MSA. virt Smontare le istruzioni di virtualizzazione ASE. XPA Smontare l'indirizzo fisico istruzioni (XPA) ASE estesa. GPR-nomi ABI Stampa GPR (registro general-purpose) nomi come appropriato per l'ABI specificato. Per impostazione predefinita, i nomi GPR vengono selezionati secondo l'ABI del binario essere smontato. fpr-nomi ABI Stampa FPR (registro in virgola mobile) nomi come appropriato per l'ABI specificato. Per impostazione predefinita, i numeri FPR sono stampati piuttosto che nomi. CP0 nomi ARCH Stampa CP0 (controllo del sistema coprocessore coprocessore 0) registrare i nomi a seconda della CPU o l'architettura specificata da ARCH. Per impostazione predefinita, i nomi dei registri CP0 vengono selezionati secondo l'architettura e la CPU dell'essere binario smontato. HWR nomi ARCH Stampa HWR (registro hardware, usato dall'istruzione rdhwr) nomi a seconda della CPU o l'architettura specificata da ARCH. Per impostazione predefinita, i nomi HWR vengono selezionati secondo l'architettura e la CPU dell'essere binario smontato. Reg-nomi ABI Stampa GPR e nomi FPR come appropriato per l'ABI selezionato. Reg-nomi ARCH stampa i nomi dei registri specifici della CPU (CP0 registrati e nomi HWR) a seconda dei casi per la CPU o l'architettura selezionata. Per una delle opzioni sopra elencate, ABI o ARCH può essere specificato come numerico per stampare i numeri piuttosto che i nomi, per i tipi selezionati di registri. Si possono elencare i valori disponibili di ABI e ARCH utilizzando l'opzione --help. Per VAX, è possibile specificare gli indirizzi di ingresso funzione con ingresso - M: 0xf00ba. È possibile utilizzare questo più volte di smontare correttamente i file binari VAX che dont contenere tabelle dei simboli (come la ROM discariche). In questi casi, la maschera di inserimento funzione altrimenti essere decodificato come istruzioni VAX che probabilmente portare il resto della funzione scorrettamente smontato. - p --private-headers le informazioni di stampa che è specifico per il formato di file oggetto. Le informazioni esatte stampato dipende dal formato di file oggetto. Per alcuni formati di file oggetto, nessuna informazione aggiuntiva viene stampato. opzioni - P --private informazioni Opzioni di stampa che è specifico per il formato di file oggetto. The argument options is a comma separated list that depends on the format (the lists of options is displayed with the help). For XCOFF, the available options are: header aout sections syms relocs lineno, loader except typchk traceback toc ldinfo Not all object formats support this option. In particular the ELF format does not use it. - r --reloc Print the relocation entries of the file. If used with - d or - D. the relocations are printed interspersed with the disassembly. - R --dynamic-reloc Print the dynamic relocation entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. As for - r. if used with - d or - D. the relocations are printed interspersed with the disassembly. - s --full-contents Display the full contents of any sections requested. By default all non-empty sections are displayed. - S --source Display source code intermixed with disassembly, if possible. Implies - d. --prefix prefix Specify prefix to add to the absolute paths when used with - S. --prefix-strip level Indicate how many initial directory names to strip off the hardwired absolute paths. It has no effect without --prefix prefix. --show-raw-insn When disassembling instructions, print the instruction in hex as well as in symbolic form. This is the default except when --prefix-addresses is used. --no-show-raw-insn When disassembling instructions, do not print the instruction bytes. This is the default when --prefix-addresses is used. --insn-width width Display width bytes on a single line when disassembling instructions. - WlLiaprmfFsoRt --dwarfrawline, decodedline, info, abbrev, pubnames --dwarfaranges, macro, frames, frames-interp, str, loc --dwarfRanges, pubtypes, traceinfo, traceabbrev --dwarftracearanges, gdbindex Displays the contents of the debug sections in the file, if any are present. If one of the optional letters or words follows the switch then only data found in those specific sections will be dumped. Note that there is no single letter option to display the content of trace sections or. gdbindex. Note: the output from the info option can also be affected by the options --dwarf-depth. the --dwarf-start and the --dwarf-check. --dwarf-depth n Limit the dump of the. debuginfo section to n children. This is only useful with --dwarfinfo. The default is to print all DIEs the special value 0 for n will also have this effect. With a non-zero value for n. DIEs at or deeper than n levels will not be printed. The range for n is zero-based. --dwarf-start n Print only DIEs beginning with the DIE numbered n. This is only useful with --dwarfinfo. If specified, this option will suppress printing of any header information and all DIEs before the DIE numbered n. Only siblings and children of the specified DIE will be printed. This can be used in conjunction with --dwarf-depth. --dwarf-check Enable additional checks for consistency of Dwarf information. - G --stabs Display the full contents of any sections requested. Display the contents of the. stab and. stab. index and. stab. excl sections from an ELF file. This is only useful on systems (such as Solaris 2.0) in which. stab debugging symbol-table entries are carried in an ELF section. In most other file formats, debugging symbol-table entries are interleaved with linkage symbols, and are visible in the --syms output. --start-address address Start displaying data at the specified address. This affects the output of the - d. - r and - s options. --stop-address address Stop displaying data at the specified address. This affects the output of the - d. - r and - s options. - t --syms Print the symbol table entries of the file. This is similar to the information provided by the nm program, although the display format is different. The format of the output depends upon the format of the file being dumped, but there are two main types. One looks like this: where the number inside the square brackets is the number of the entry in the symbol table, the sec number is the section number, the fl value are the symbols flag bits, the ty number is the symbols type, the scl number is the symbols storage class and the nx value is the number of auxilary entries associated with the symbol. The last two fields are the symbols value and its name. The other common output format, usually seen with ELF based files, looks like this: Here the first number is the symbols value (sometimes refered to as its address). The next field is actually a set of characters and spaces indicating the flag bits that are set on the symbol. These characters are described below. Next is the section with which the symbol is associated or ABS if the section is absolute (ie not connected with any section), or UND if the section is referenced in the file being dumped, but not defined there. After the section name comes another field, a number, which for common symbols is the alignment and for other symbol is the size. Finally the symbols name is displayed. The flag characters are divided into 7 groups as follows: l g u. The symbol is a local (l), global (g), unique global (u), neither global nor local (a space) or both global and local (). A symbol can be neither local or global for a variety of reasons, e. g. because it is used for debugging, but it is probably an indication of a bug if it is ever both local and global. Unique global symbols are a GNU extension to the standard set of ELF symbol bindings. For such a symbol the dynamic linker will make sure that in the entire process there is just one symbol with this name and type in use. w The symbol is weak (w) or strong (a space). C The symbol denotes a constructor (C) or an ordinary symbol (a space). W The symbol is a warning (W) or a normal symbol (a space). A warning symbols name is a message to be displayed if the symbol following the warning symbol is ever referenced. I i The symbol is an indirect reference to another symbol (I), a function to be evaluated during reloc processing (i) or a normal symbol (a space). d D The symbol is a debugging symbol (d) or a dynamic symbol (D) or a normal symbol (a space). F f O The symbol is the name of a function (F) or a file (f) or an object (O) or just a normal symbol (a space). - T --dynamic-syms Print the dynamic symbol table entries of the file. This is only meaningful for dynamic objects, such as certain types of shared libraries. This is similar to the information provided by the nm program when given the - D ( --dynamic ) option. --special-syms When displaying symbols include those which the target considers to be special in some way and which would not normally be of interest to the user. - V --version Print the version number of objdump and exit. - x --all-headers Display all available header information, including the symbol table and relocation entries. Using - x is equivalent to specifying all of - a - f - h - p - r - t. - w --wide Format some lines for output devices that have more than 80 columns. Also do not truncate symbol names when they are displayed. - z --disassemble-zeroes Normally the disassembly output will skip blocks of zeroes. This option directs the disassembler to disassemble those blocks, just like any other data.

No comments:

Post a Comment