Ad esempio, lo strumento SysInternals "FileMon" del passato ha un driver in modalità kernel il cui codice sorgente è interamente in un file di 4.000 righe. Lo stesso per il primo programma di ping mai scritto (~ 2.000 LOC).
Nei linguaggi che distinguono tra un file "source" e "header" (principalmente C e C ++), è meglio documentare le funzioni nel file header: ( rubato dal CCAN ) /** * time_now - return the current time * * Example: * printf("Now is %lu seconds since epoch\n", (long)time_now().tv_sec); */ struct timeval …
Ho sempre sentito che C è il linguaggio di scelta da utilizzare per i sistemi embedded, o tutto ciò che deve funzionare alla massima velocità. Non ho mai sviluppato una predilezione per C, soprattutto perché non mi piace l'aritmetica del puntatore e il linguaggio è appena un gradino sopra l'assemblatore. …
Ho sentito che dovresti evitare di guidare le nuove linee quando usi printf. In modo che al posto printf("\nHello World!")tuo dovresti usareprintf("Hello World!\n") In questo esempio particolare sopra non ha senso, poiché l'output sarebbe diverso, ma considera questo: printf("Initializing"); init(); printf("\nProcessing"); process_data(); printf("\nExiting"); rispetto a: printf("Initializing\n"); init(); printf("Processing\n"); process_data(); printf("Exiting"); …
Esistono alcuni linguaggi di programmazione per i quali esiste un sistema di gestione dei pacchetti: CTAN per TeX CPAN per Perl Pip e uova per Python Maven per Java cabala per Haskell Gemme per Ruby npm per NodeJS bower per frontend Javascript e CSS nuget per C # compositore per …
A volte ti imbatti in una situazione in cui devi estendere / migliorare un po 'di codice esistente. Vedi che il vecchio codice è molto snello, ma è anche difficile da estendere e richiede tempo per la lettura. È una buona idea sostituirlo con un codice moderno? Qualche tempo fa …
Qual è stato il ragionamento alla base della non memorizzazione esplicita della lunghezza di un array con un array in C? Per come la vedo io, ci sono ragioni schiaccianti per farlo, ma non molti a supporto dello standard (C89). Per esempio: La disponibilità della lunghezza in un buffer può …
Sto cercando di capire la differenza tra linguaggi procedurali come C e linguaggi orientati agli oggetti come C ++. Non ho mai usato C ++, ma ho discusso con i miei amici su come differenziare i due. Mi è stato detto che C ++ ha concetti orientati agli oggetti e …
Quando è in esecuzione un programma C, i dati vengono archiviati nell'heap o nello stack. I valori sono memorizzati in indirizzi RAM. Ma per quanto riguarda gli indicatori di tipo (ad es. intO char)? Sono anche memorizzati? Considera il seguente codice: char a = 'A'; int x = 4; Ho …
C è una delle lingue più utilizzate al mondo. Rappresenta un'enorme percentuale del codice esistente e continua ad essere utilizzato per una grande quantità di nuovo codice. È amato dai suoi utenti, è così ampiamente portato che essere in grado di eseguire C è per molti la definizione informale di …
Quali cose non dovrebbero mai essere incluse in un file di intestazione? Se per esempio sto lavorando con un formato standard del settore documentato che ha molte costanti, è una buona pratica definirle in un file di intestazione (se sto scrivendo un parser per quel formato)? Quali funzioni dovrebbero andare …
Molte domande e risposte sulle pagine C / C ++, in particolare o indirettamente, discutono problemi di micro prestazioni (come il sovraccarico di una funzione indiretta vs diretta vs in linea) o usando un algoritmo O (N 2 ) vs O (N log N) su un elenco di 100 articoli. …
La mia comprensione è che negli anni '80, e forse anche negli anni '90, Pascal e C erano praticamente testa a testa come linguaggi di produzione. La morte definitiva di Pascal è dovuta solo alla negligenza di Delfi da parte di Borland ? O c'era di più, come la sfortuna …
Linguaggi come C, Java e C ++ tutti richiedono parentesi intorno ad una intera espressione quando viene utilizzato in una if, whileo switch. if (true) { // Do something } al contrario di if true { // Do something } Mi sembra strano perché le parentesi sono ridondanti. In questo …
Alcuni mesi fa, abbiamo iniziato a sviluppare un'app per controllare un'apparecchiatura di prova sviluppata internamente e registrare una serie di misurazioni. Dovrebbe avere un'interfaccia utente semplice e probabilmente richiederebbe discussioni a causa della registrazione continua che deve aver luogo. Questa applicazione verrà utilizzata per alcuni anni e sarà mantenuta da …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.