Articles of compilatore costruzione

Controllo del tipo di interfaccia con Typescript

Questa domanda è l’analogone diretto al controllo del tipo di class con TypeScript Devo scoprire a runtime se una variabile di tipo any implementa un’interfaccia. Ecco il mio codice: interface A{ member:string; } var a:any={member:”foobar”}; if(a instanceof A) alert(a.member); Se inserisci questo codice nel campo giochi typescript, l’ultima riga sarà contrassegnata come un errore, “Il […]

Quando / Come funziona Linux carica le librerie condivise nello spazio degli indirizzi?

La mia domanda è la seguente: Quando è l’indirizzo degli oggetti condivisi specificato nei programmi? Durante il collegamento? Caricamento in corso? Se volessi trovare l’indirizzo di memoria del comando di system all’interno di libc all’interno del mio programma potrei trovarlo facilmente in gdb , ma cosa succede se non voglio portare il programma in un […]

Dettagli di istanziazione dei template dei compilatori GCC e MS

Qualcuno potrebbe fornire un confronto o dettagli specifici su come viene gestita l’istanziazione dei template durante la compilazione e / o il tempo di collegamento nei compilatori GCC e MS? Questo processo è diverso nel contesto delle librerie statiche, delle librerie condivise e degli eseguibili? Ho trovato questo documento su come GCC lo gestisce, ma […]

Qt: imansible trovare l’errore -lGL

Ho appena reinstallato QtCreator, creato un nuovo progetto ( Qt Application ) e ho ottenuto questo dopo la compilazione: /usr/bin/ld: **cannot find -lGL** collect2: error: ld returned 1 exit status make: *** [untitled1] Error 1 18:07:41: The process “/usr/bin/make” exited with code 2. Error while building/deploying project untitled1 (kit: Desktop Qt 5.1.0 GCC 32bit) When […]

Miglior livello di avviso del compilatore per i compilatori C / C ++?

Quale livello di avviso del compilatore consigli per diversi compilatori C / C ++? gcc e g ++ ti faranno scappare parecchio sul livello predefinito. Trovo che il miglior livello di avviso per me sia “-Wall”. E cerco sempre di rimuovere la correzione del codice per gli avvertimenti che genera. (Anche gli sciocchi sull’uso della […]

valore iniziale dell’array int in C

Quando dichiari un array in C come questo: int array[10]; Qual è il valore iniziale degli interi ?? Sto ottenendo risultati diversi con diversi compilatori e voglio sapere se ha qualcosa a che fare con il compilatore o il sistema operativo.

Il posizionamento nuovo per gli array può essere utilizzato in modo portatile?

È ansible utilizzare effettivamente il posizionamento nuovo nel codice portatile quando lo si utilizza per gli array? Sembra che il puntatore che torni da new [] non sia sempre uguale all’indirizzo che hai inserito (5.3.4, la nota 12 nello standard sembra confermare che questo è corretto), ma non vedo come tu può allocare un buffer […]

Come è stato scritto il primo compilatore?

Ho sentito parlare del pollo e dell’uovo e del bootstrap. Ho alcune domande. Cosa ha scritto il primo compilatore che ha convertito qualcosa in istruzioni binarie? L’assembly è compilato o tradotto in istruzioni binarie? … Trovo difficile credere che abbiano scritto un compilatore in binario.

Perché è necessario il segmento .bss?

Quello che so è che le variabili globali e statiche sono memorizzate nel segmento .data e che i dati non inizializzati si trovano nel segmento .bss . Quello che non capisco è perché abbiamo un segmento dedicato per le variabili non inizializzate? Se una variabile non inizializzata ha un valore assegnato in fase di esecuzione, […]

In che modo una variabile non iniziata ottiene un valore spazzatura?

Quando creiamo una variabile e non la inizializziamo, a essa viene assegnato un numero (casuale) chiamato garbage value . Come viene assegnato questo valore alla variabile? Qual è l’intero concetto / meccanismo dietro questo? Questo succede solo in C?