Articles of g ++

static_assist fallisce la compilazione anche se la funzione template non viene chiamata da nessuna parte

Io uso g ++ 4.6.3, (attualmente il pacchetto predefinito per Ubuntu 12.04) con il flag c ++ 0x, e mi imbatto in questo: template inline T getValue(AnObject&) { static_assert(false , “this function has to be implemented for desired type”); } con l’errore di compilazione: static_assertion failed “this function has to be implemented for the desired […]

😃 (e altri caratteri Unicode) in identificatori non consentiti da g ++

Sono 😞 a scoprire che non posso usare 😃 come un identificatore valido con g ++ 4.7, anche con l’opzione -fextended-identifiers abilitata: int main(int argc, const char* argv[]) { const char* 😃 = “I’m very happy”; return 0; } main.cpp: 3: 3: errore: stray ‘\ 360’ nel programma main.cpp: 3: 3: errore: stray ‘\ 237’ […]

Ottenendo il nome strascicato dal nome con demarcazione

C’è un modo per riprendere il nome straziato dal nome demangled in g ++. Ad esempio, ho il nome demangled func(char*, int) , cosa dovrei fare per ottenere il nome storpiato, ad esempio _Z4funcPci ? La mia domanda è specifica per g ++.

OpenCV 2.3 Compiling Issue – Undefined Refence – Ubuntu 11.10

Grazie in anticipo per qualsiasi aiuto… Informazioni di sistema: Ubuntu 11.10 (64 bit) con OpenCV 2.3 (installato oggi) Sto cercando di compilare un codice molto semplice in OpenCV 2.3, ma sto ottenendo uno strano errore. #include #include int main(){ cv::Mat image=cv::imread(“img.jpg”); cv::namedWindow(“My Image”); cv::imshow(“My Image”,image); cv::waitKey(0); return 1; } howeverrrrrrrrrrrrr, sto ricevendo questi messaggi di […]

Come specificare la preferenza del percorso della libreria?

Sto compilando un programma c ++ usando g++ e ld . Ho una libreria .so che voglio essere usata durante il collegamento. Tuttavia, esiste una libreria con lo stesso nome in /usr/local/lib , e ld sta scegliendo quella libreria su quella che sto specificando direttamente. Come posso risolvere questo? Per gli esempi di seguito, il […]

g ++ che collega la dipendenza degli ordini quando si collega il codice c al codice c ++

Prima di oggi avevo sempre creduto che l’ordine che oggetti e librerie fossero passati a g ++ durante la fase di collegamento non era importante. Poi, oggi, ho provato a colbind dal codice c ++ al codice c. Ho avvolto tutte le intestazioni C in un blocco “C” esterno, ma il linker ha ancora avuto […]

Ricorsione di coda in C ++

Qualcuno può mostrarmi una semplice funzione ricorsiva in coda in C ++? Perché la ricorsione della coda è migliore, se lo è anche? Quali altri tipi di ricorsione esistono oltre alla ricorsione della coda?

Escaping in makefile

Sto cercando di farlo in un makefile e fallisce in modo orribile: M_ARCH := $(shell g++ -dumpmachine | awk ‘{split($1,a,”-“);print a[1]}’) sai perché? Immagino che abbia a che fare con la fuga, ma che cosa e dove?

Inizializzazione dei membri dei dati statici

Perché l’inizializzazione dei membri dei dati statici deve essere al di fuori della class? class X { public: int normalValue = 5; //NSDMI static int i; }; int X::i = 0; Perché il membro dei dati statici (qui “i”) è solo una dichiarazione, non una definizione?

Perché devo usare typedef typename in g ++ ma non VS?

Era da un po ‘che GCC mi aveva catturato con questo, ma è successo oggi. Ma non ho mai capito perché GCC richieda typedef typename nei template, mentre VS e suppongo che ICC no. Il typedef typename è un “bug” o uno standard overstrict o qualcosa che è lasciato agli scrittori del compilatore? Per coloro […]