Domande taggate «c»

C è un linguaggio di programmazione generico utilizzato per la programmazione di sistemi (OS e embedded), librerie, giochi e multipiattaforma. Questo tag deve essere utilizzato con domande generali relative al linguaggio C, come definito nella norma ISO 9899 (l'ultima versione, 9899: 2018, se non diversamente specificato - anche tag richieste specifiche della versione con c89, c99, c11, ecc.). C è distinto da C ++ e non dovrebbe essere combinato con il tag C ++ in assenza di una ragione razionale.

7
Architetture esotiche a cui tengono i comitati degli standard
So che gli standard C e C ++ lasciano molti aspetti dell'implementazione del linguaggio definiti solo perché se esiste un'architettura con altre caratteristiche, sarebbe molto difficile o impossibile scrivere un compilatore conforme allo standard. So che 40 anni fa ogni computer aveva le sue specifiche uniche. Tuttavia, non conosco alcuna …
154 c++  c  architecture 

5
Perdita ancora raggiungibile rilevata da Valgrind
Tutte le funzioni menzionate in questo blocco sono funzioni di libreria. Come posso correggere questa perdita di memoria? È elencato nella categoria " Ancora raggiungibile ". (Ce ne sono altri 4, che sono molto simili, ma di varie dimensioni) 630 bytes in 1 blocks are still reachable in loss record …
154 c  pthreads  valgrind 


6
NSLog il nome del metodo con Objective-C in iPhone
Attualmente, ci stiamo definendo un meccanismo di registro esteso per stampare il nome della classe e il numero di riga di origine del registro. #define NCLog(s, ...) NSLog(@"<%@:%d> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \ __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__]) Ad esempio, quando chiamo NCLog (@ "Hello world"); L'output sarà: <ApplicationDelegate:10>Hello world Ora …

11
~ x + ~ y == ~ (x + y) è sempre falso?
Questo codice viene sempre valutato come falso? Entrambe le variabili sono ints firmati a complemento di due. ~x + ~y == ~(x + y) Sento che dovrebbe esserci un numero che soddisfi le condizioni. Ho provato a testare i numeri tra -5000e 5000non ho mai raggiunto l'uguaglianza. C'è un modo …

9
In C, le parentesi graffe fungono da cornice di stack?
Se creo una variabile all'interno di un nuovo set di parentesi graffe, quella variabile è saltata fuori dallo stack sulla parentesi graffa di chiusura o rimane fino alla fine della funzione? Per esempio: void foo() { int c[100]; { int d[200]; } //code that takes a while return; } Occuperà …
153 c  memory  stack 

9
Che cos'è un "callback" in C e come vengono implementati?
Dalla lettura che ho fatto, Core Audio si basa fortemente sui callback (e sul C ++, ma questa è un'altra storia). Comprendo il concetto (una sorta di) di impostazione di una funzione che viene chiamata ripetutamente da un'altra funzione per eseguire un compito. Non capisco come si configurano e come …
153 c  callback 

14
Verifica del puntatore NULL in C / C ++ [chiuso]
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 5 anni fa . Migliora questa domanda In una recente revisione del codice, un collaboratore …

13
Quali strumenti ci sono per la programmazione funzionale in C?
Ultimamente ho pensato molto a come fare la programmazione funzionale in C ( non C ++). Ovviamente, C è un linguaggio procedurale e non supporta realmente la programmazione funzionale in modo nativo. Esistono estensioni di compilatore / linguaggio che aggiungono alcuni costrutti di programmazione funzionale al linguaggio? GCC fornisce funzioni …

13
Num ++ può essere atomico per "int num"?
In generale, per int num, num++(o ++num), come operazione di lettura-modifica-scrittura, non è atomico . Ma vedo spesso compilatori, ad esempio GCC , generare il seguente codice per esso ( prova qui ): Dato che la riga 5, che corrisponde a num++un'istruzione, possiamo concludere che in questo caso num++ è …

8
Restituzione di un array mediante C
Sono relativamente nuovo in C e ho bisogno di aiuto con i metodi di gestione degli array. Venendo dalla programmazione Java, sono abituato a poter dire int [] method()per restituire un array. Tuttavia, ho scoperto che con C devi usare i puntatori per le matrici quando le restituisci. Essendo un …
153 c  arrays  pointers  char 


4
Cosa implica "#define _GNU_SOURCE"?
Oggi ho dovuto usare la basename()funzione e il man 3 basename( qui ) mi ha dato uno strano messaggio: Appunti Esistono due diverse versioni di basename () : la versione POSIX sopra descritta e la versione GNU , che si ottiene dopo #define _GNU_SOURCE #include <string.h> Mi chiedo cosa #define …
152 c  posix  gnu 

22
Gestione degli errori nel codice C.
Cosa consideri "best practice" quando si tratta di errori nella gestione degli errori in modo coerente in una libreria C. Ci sono due modi in cui ho pensato: Restituisce sempre il codice di errore. Una funzione tipica sarebbe simile a questa: MYAPI_ERROR getObjectSize(MYAPIHandle h, int* returnedSize); Fornire sempre un approccio …
152 c  error-handling 


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.