Pytania oznaczone «c»

42
Czy ten niebezpieczny kod powinien działać również w .NET Core 3?

Refaktoryzuję swoje biblioteki, aby Span<T>w miarę możliwości unikały alokacji sterty, ale ponieważ celuję również w starsze platformy, wdrażam również ogólne rozwiązania awaryjne. Ale teraz znalazłem dziwny problem i nie jestem do końca pewien, czy znalazłem błąd w .NET Core 3, czy robię coś...

40
Dlaczego adresy argc i argv 12 bajtów są oddzielone?

Na swoim komputerze uruchomiłem następujący program (64-bitowy Intel z systemem Linux). #include <stdio.h> void test(int argc, char **argv) { printf("[test] Argc Pointer: %p\n", &argc); printf("[test] Argv Pointer: %p\n", &argv); } int main(int argc, char **argv) { printf("Argc...

34
Czy algorytm strcasecmp jest wadliwy?

Próbuję ponownie wdrożyć strcasecmpfunkcję w C i zauważyłem, co wydaje się być niespójnością w procesie porównywania. Od man strcmp Funkcja strcmp () porównuje dwa ciągi s1 i s2. Ustawienia regionalne nie są brane pod uwagę (dla porównania uwzględniającego ustawienia regionalne, patrz strcoll...

31
Czy wątki są kopiowane podczas wywoływania fork?

Jeśli mam program działający z wątkami i wywołujący fork()system uniksowy, czy wątki są kopiowane? Wiem, że pamięć wirtualna dla bieżącego procesu jest kopiowana 1: 1 do nowego spawnowanego procesu. Wiem, że wątki mają swój własny stos w wirtualnej pamięci procesu. Dlatego przynajmniej stos wątków...

30
Jak nazywają się (…) w C i C ++?

Jednym z zastosowań ...jest do określenia zmiennej liczbie argumentów podmiotów w C i C ++. Jak się nazywa? Czy jest sklasyfikowany jako operator lub coś innego, gdy jest używany w ten sposób? Wszelkie inne szczegóły dotyczące ...? Edycja: Znam cel .... Pytam o jego nazwę i klasyfikację,...

30
Dlaczego zapis ciągle pozostawia bajty 4K w buforze?

Mam zasadniczo następujący kod: int fileWrite(int file, void * pBuffer, size_t size) { size_t bytesWritten = (size_t)write( file, pBuffer, size ) ; if (bytesWritten != size) { return -1; } return 0; } Działa, jeśli rozmiar wynosi 1 GB, ale gdy rozmiar wynosi ~ 2 GB, konsekwentnie pozostaje...