Articles of compilatore costruzione

Suffisso corretto per il file sorgente di Fortran 2003: compilatore Intel Fortran

Ho scritto un piccolo snippet di codice, cercando di aderire allo standard Fortran 2003. Il codice è disponibile su github . Questo è il mio makefile: FC = gfortran FLGS = -g -pg -std=f2003 -I. -fbounds-check DEPS = camx.prm OBJ = unit-test-hadvppm.o hadvppm.o #linker macro %.o: %.f03 $(DEPS) $(FC) -c -o $@ $< $(FLGS) #build […]

Operazioni atomiche, std :: atomic e ordinamento delle scritture

GCC compila questo: #include std::atomic a; int b(0); void func() { b = 2; a = 1; } a questa: func(): mov DWORD PTR b[rip], 2 mov DWORD PTR a[rip], 1 mfence ret Quindi, per chiarire le cose per me: Qualsiasi altro thread sta leggendo ‘a’ come 1 garantito per leggere ‘b’ come 2. Perché […]

MENO: errore di input non riconosciuto quando si utilizza Bootstrap

Dopo aver aggiornato l’arpa, ho iniziato a ricevere un errore di input non riconosciuto in una riga irrilevante di CSS. Less -> CSS (Unrecognised input) /Users/jorge/Dropbox/harp.io/apps/mysite.com/public/css/main.less Utilizzo di Bootstrap v2.2.2 e Harp v0.9.4.

Come cambiare la modalità dalla modalità c ++ 98 in Dev-C ++ in una modalità che supporta C ++ 0x (range based for)?

Sto solo imparando a scrivere intervalli basati su cicli, ma l’unico problema è che il mio compilatore, Orwell Dev-C ++, non sembra supportarlo nella sua modalità predefinita (che è c ++ 98). Come posso cambiare questa modalità con un’altra che supporta questa funzione (e altre funzionalità di C ++ 0x). Grazie. Anche: Questo era il […]

Come creare una libreria statica con g ++?

Qualcuno può dirmi come creare una libreria statica da un file .cpp e .hpp? Devo creare il .o e il .a? Mi piacerebbe anche sapere come posso compilare una libreria statica e usarla in un altro codice .cpp. Ho header.cpp , header.hpp . Mi piacerebbe creare header.a . Prova l’header.a in test.cpp . Sto usando […]

Perché includere le guardie?

Sto imparando C. Includi guardie, come definito qui , vengono utilizzate per evitare di caricare lo stesso codice due volte durante la compilazione. Perché il mio compilatore (GCC) non può rilevare che sta caricando lo stesso codice due volte e ha un comportamento predefinito ragionevole?

Debind le modifiche al comportamento di memorizzazione nella cache in Roslyn

Dato il seguente codice: public class C { public void M() { var x = 5; Action action = y => Console.WriteLine(y); } } Utilizzo di VS2013, .NET 4.5. Quando osserviamo il codice decompilato, possiamo vedere che il compilatore sta memorizzando nella cache il delegato sul sito di chiamata: public class C { [CompilerGenerated] private […]

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 […]