W tej kwestii , ktoś sugerowane w komentarzu , że powinienem nie rzucać wynik malloc, czyli int *sieve = malloc(sizeof(int) * length); zamiast: int *sieve = (int *) malloc(sizeof(int) * length); Dlaczego miałoby tak
Funkcja malloc wykonuje dynamiczną alokację pamięci w języku C i jest częścią biblioteki standardowej. Użyj tego tagu, jeśli masz pytania dotyczące użycia, zachowania i implementacji malloc.
W tej kwestii , ktoś sugerowane w komentarzu , że powinienem nie rzucać wynik malloc, czyli int *sieve = malloc(sizeof(int) * length); zamiast: int *sieve = (int *) malloc(sizeof(int) * length); Dlaczego miałoby tak
Jaka jest różnica między robieniem: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); lub: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Kiedy warto używać calloc zamiast malloc lub
To mnie martwiło od wieków. Wszyscy uczymy się w szkole (przynajmniej ja byłem), że MUSISZ uwolnić każdy przydzielony wskaźnik. Jestem jednak trochę ciekawy, jakie są rzeczywiste koszty nie zwalniania pamięci. W niektórych oczywistych przypadkach, takich jak mallocwywołanie w pętli lub części...
Widzę w C ++, że istnieje wiele sposobów przydzielania i bezpłatnego przesyłania danych. Rozumiem, że kiedy dzwonisz malloc, powinieneś zadzwonić, freea kiedy używasz newoperatora, powinieneś się sparować deletei błędem jest połączenie tych dwóch (np. Dzwonienie free()na coś, co zostało stworzone z...
alloca()przydziela pamięć na stosie, a nie na stercie, jak w przypadku malloc(). Kiedy wracam z rutyny, pamięć zostaje uwolniona. Tak więc faktycznie rozwiązuje to mój problem zwalniania dynamicznie alokowanej pamięci. Zwolnienie pamięci przydzielonej przez malloc()to poważny ból głowy i jeśli w...
Chcę wiedzieć jak malloci freepracować. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout...
Wiadomo, że callocróżni się od malloctego, że inicjalizuje przydzieloną pamięć. Za callocpomocą pamięć jest ustawiona na zero. Zmalloc pomocą pamięć nie zostanie wyczyszczona. Tak więc w codziennej pracy uważam callocza malloc+memset . Nawiasem mówiąc, dla zabawy napisałem następujący kod dla...
Co to jest sterta
Dziś doszedłem strona 167 z The C Programming Language (wydanie drugie Brian W. Kernighan i Dennis M. Ritchie) i okazało się, że autor mówi muszę rzucać malloc. Oto część z książki: 7.8.5 Zarządzanie pamięcią masową Funkcje malloc i calloc dynamicznie uzyskują bloki pamięci. void...
W mojej firmie obowiązuje zasada kodowania, która mówi, że po zwolnieniu pamięci należy zresetować zmienną do NULL. Na przykład ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Czuję, że w przypadkach takich jak w kodzie pokazanym powyżej,...
Otrzymuję ten błąd: ostrzeżenie: niekompatybilna niejawna deklaracja funkcji wbudowanej „malloc” Próbuję to zrobić: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Dla porównania, struktura używana pod ręką to: typedef struct { fileinfo** filedata; size_t nFiles; size_t size;...
Właśnie zobaczyłem ten kod: artist = (char *) malloc(0); ... i zastanawiałem się, dlaczego ktoś miałby to
Przeszukałem go i zauważyłem, że większość ludzi opowiada się za używaniem kmalloc, ponieważ masz gwarancję, że otrzymasz ciągłe fizyczne bloki pamięci. Jednak wydaje się również, że kmallocmoże się nie powieść, jeśli nie można znaleźć ciągłego fizycznego bloku, którego chcesz. Jakie są zalety...
Jeśli używam mallocw moim kodzie: int *x = malloc(sizeof(int)); Otrzymałem to ostrzeżenie od gcc: new.c:7: warning: implicit declaration of function ‘malloc’ new.c:7: warning: incompatible implicit declaration of built-in function
Sprawdzam czyjś kod C ++ dla naszego projektu, który używa MPI do obliczeń o wysokiej wydajności (10 ^ 5 - 10 ^ 6 rdzeni). Kod ma umożliwić komunikację między (potencjalnie) różnymi maszynami na różnych architekturach. Napisał komentarz, który mówi coś w rodzaju: Zwykle używamy newi delete, ale...
W projekcie ktoś przesunął tę linię: double (*e)[n+1] = malloc((n+1) * sizeof(*e)); Co rzekomo tworzy dwuwymiarową tablicę podwójnych liczb (n + 1) * (n + 1). Podobno mówię, ponieważ do tej pory nikt, kogo zapytałem, nie mógł mi powiedzieć, co to dokładnie robi, skąd się wzięło ani dlaczego...
Powiedziano mi, że następujący kod ma niezdefiniowane zachowanie do C ++ 20: int *p = (int*)malloc(sizeof(int)); *p = 10; Czy to prawda? Argumentem było to, że czas życia intobiektu nie jest uruchamiany przed przypisaniem mu wartości ( P0593R6 ). Aby rozwiązać problem, newnależy użyć...
Implementuję algorytm wielomianowy dziel i zwyciężaj, więc mogę porównać go z implementacją OpenCL, ale nie mogę zabrać się mallocdo pracy. Kiedy uruchamiam program, przydziela on kilka rzeczy, sprawdza niektóre rzeczy, a następnie wysyła size/2do algorytmu. Następnie, kiedy mallocponownie...
Żeby było jasne: wiem to malloci freesą zaimplementowane w bibliotece C, która zwykle alokuje fragmenty pamięci z systemu operacyjnego i samodzielnie zarządza, aby rozdzielić mniejsze partie pamięci do aplikacji i śledzi liczbę przydzielonych bajtów . To pytanie nie brzmi: Skąd wolny wie, ile za...
Programuję aplikację w Objective-C i otrzymuję ten błąd: MyApp (2121,0xb0185000) malloc: *** błąd dla obiektu 0x1068310: podwójne wolne *** ustaw punkt przerwania w malloc_error_break do debugowania Dzieje się tak, gdy wypuszczam NSAutoreleasePool i nie mogę dowiedzieć się, który obiekt...