Articles of c99

Qual è la differenza tra C, C99, ANSI C e GNU C?

Ho iniziato a programmare la pratica su Codechef e sono stato confuso dalla differenza tra C e C99. Cosa significa C qui? È C89? Controlla le lingue in fondo a questo invio . Contiene sia C che C99. Ho trovato su internet qualcosa chiamato GNU C. Esiste un C diverso per i sistemi linux / […]

GCC con -std = c99 si lamenta di non conoscere struct timespec

Quando provo a compilarlo su Linux con gcc -std=c99 , il compilatore si lamenta di non conoscere struct timespec . Comunque se lo compilo senza -std=c99 tutto funziona bene. #include int main(void) { struct timespec asdf; return 0; } Perché è questo ed esiste un modo per farlo funzionare con -std=c99 ?

Qual è lo stato ufficiale del supporto C99 in VS2013?

Vedo che VS2013 ha aggiunto il supporto per un gran numero di funzionalità principali del linguaggio C99. Ora supporta letterali composti, inizializzatori designati, macro variadici, dichiarazioni e dichiarazioni intercalate solo per citarne alcuni. Ciò indica che gli sviluppatori di VS hanno compiuto seri passi verso il supporto C99 in Visual Studio. Tuttavia, alcune di queste […]

Come implementare memmove in C standard senza una copia intermedia?

Dalla pagina man sul mio sistema: void * memmove (void * dst, const void * src, size_t len); DESCRIZIONE La funzione memmove () copia i byte len dalla stringa src alla stringa dst. Le due stringhe possono sovrapporsi ; la copia viene sempre eseguita in modo non distruttivo maniera. Dallo standard C99: 6.5.8.5 Quando vengono […]

tutorial sulle macchine state

Mi chiedo solo se qualcuno sa di alcuni buoni tutorial su Internet per lo sviluppo di macchine a stati. O ebooks? Sto iniziando a lavorare su macchine statali e ho solo bisogno di qualcosa di generale per iniziare.

La striscia del preprocessore C commenta o espande prima i macro?

Considera questa struttura di codice (orribile, terribile, non buona, molto ctriggers): #define foo(x) // commented out debugging code // Misformatted to not obscure the point if (a) foo(a); bar(a); Ho visto che i preprocessori di due compilatori generano risultati diversi su questo codice: if (a) bar(a); e if (a) ; bar(a); Ovviamente, questa è una […]

Funzione inline C99 nel file .c

Ho definito la mia funzione in .c (senza intestazione) come qui: inline int func(int i) { return i+1; } Quindi nello stesso file qui sotto lo uso: … i = func(i); E durante il collegamento ho ottenuto “riferimento non definito a ‘func’”. Perché?

Lo standard C considera che ci siano uno o due tipi di struct uperms_entry in questa intestazione?

Puoi dare un capitolo e un verso da uno dei tre standard C (preferibilmente C99 o C11) che indica se il seguente file di intestazione ha uno o due tipi di struct uperms_entry in esso? #ifndef UPERMS_CACHE_INCLUDE #define UPERMS_CACHE_INCLUDE typedef struct mutex MT_MUTEX; typedef struct uperms_cache { MT_MUTEX *cache_lock; int processing; struct uperms_entry *uperms_list; // […]

ANSI C o ISO C specifica cosa dovrebbe essere -5% 10?

Mi sembra di ricordare che ANSI C non ha specificato quale valore deve essere restituito quando uno degli operandi di un operatore modulo è negativo (solo che dovrebbe essere coerente). È stato specificato in seguito, o è sempre stato specificato e sto ricordando in modo errato?

Intervallo del valore di ritorno della funzione principale

Che cosa dice la norma sui principali valori di ritorno? Dì solo fino a 255? Perché int main(void){ return 256; } echo $? ; # out 0