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.



3
static int arr [10] l'indirizzo di memoria termina sempre con 060
Ho un programma CA che assomiglia a questo main.c #include <stdio.h> #define SOME_VAR 10 static int heap[SOME_VAR]; int main(void) { printf("%p", heap); return 0; } e lo emette quando eseguo il programma compilato alcune volte 0x58aa7c49060 0x56555644060 0x2f8d1f8e060 0x92f58280060 0x59551c53060 0xd474ed6e060 0x767c4561060 0xf515aeda060 0xbe62367e060 Perché finisce sempre con 060? E …
17 c  arrays  memory 

1
Perché l'indirizzo di __libc_start_main è sempre lo stesso in GDB anche se ASLR è attivo?
Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6 (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/firstlove/projects/org-ioslide/example/a.out Breakpoint 1, 0x00007ffff7de8060 in __libc_start_main () from /usr/lib/libc.so.6 (gdb) r The program being debugged has been started already. Start it …
16 c  linux  gdb  libc  aslr 


1
Perché np.dot non è impreciso? (array n-dim)
Supponiamo di prendere np.dotdue 'float32'array 2D: res = np.dot(a, b) # see CASE 1 print(list(res[0])) # list shows more digits [-0.90448684, -1.1708503, 0.907136, 3.5594249, 1.1374011, -1.3826287] Numeri. Tranne che possono cambiare: CASO 1 : fettaa np.random.seed(1) a = np.random.randn(9, 6).astype('float32') b = np.random.randn(6, 6).astype('float32') for i in range(1, len(a)): print(list(np.dot(a[:i], …
15 python  c  arrays  numpy  precision 


5
Perché le dichiarazioni senza effetto sono considerate legali in C?
Scusate se questa domanda è ingenua. Considera il seguente programma: #include <stdio.h> int main() { int i = 1; i = i + 2; 5; i; printf("i: %d\n", i); } Nell'esempio di cui sopra, le dichiarazioni 5;e i;sembrano del tutto superfluo, ma il codice viene compilato senza avvisi o errori …
13 c 

5
Paragonando un po 'a un booleano
Supponi di avere un set di flag, codificato in uint16_t flags. Ad esempio AMAZING_FLAG = 0x02,. Ora ho una funzione. Questa funzione deve verificare se voglio cambiare il flag, perché se voglio farlo, devo scrivere in flash. E questo è costoso. Pertanto, voglio un controllo che mi dica se flags …

1
Perché il tempo riportato da time () a volte 1 secondo dietro il componente secondi di timespec_get () nel codice C?
Il seguente frammento di codice: struct timespec ts; for (int x = 0; x < 100000000; x++) { timespec_get(&ts, TIME_UTC); long cTime = (long) time(NULL); if (cTime != ts.tv_sec && ts.tv_nsec < 3000000) { printf("cTime: %ld\n", cTime); printf("ts.tv_sec: %ld\n", ts.tv_sec); printf("ts.tv_nsec: %ld\n", ts.tv_nsec); } } produce questo output: ... cTime: …
12 c  time  posix  timespec 


1
Perché definire una macro con una funzione con lo stesso nome?
Ho trovato il codice qui sotto in https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/atomic.h static __always_inline bool arch_atomic_sub_and_test(int i, atomic_t *v) { return GEN_BINARY_RMWcc(LOCK_PREFIX "subl", v->counter, e, "er", i); } #define arch_atomic_sub_and_test arch_atomic_sub_and_test cosa fa #defineveramente? Quando è necessario farlo?
12 c  linux-kernel 




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.