Proces dynamicznego przydzielania i zwalniania części pamięci fizycznej w celu odpowiadania na żądania programu, jeśli to możliwe, uczciwie i bez głodu wśród żądających.
Powiedzmy, że mam następujący kod w C: int main () { int *p = malloc(10 * sizeof *p); *p = 42; return 0; //Exiting without freeing the allocated memory } Kiedy kompiluję i wykonuję ten program w C, tj. Po przydzieleniu pewnej ilości miejsca w pamięci, czy ta przydzielona mi …
Jeśli real_usageargument jest ustawiony truena PHP DOCS, powiedz, że uzyska rzeczywisty rozmiar pamięci przydzielonej z systemu. Jeśli tak, falseotrzyma raport o pamięciemalloc() Która z tych 2 opcji zwraca maks. pamięć przydzielona względem wartości limitu pamięci w php.ini? Chcę wiedzieć, jak blisko było osiągnięcie tego limitu przez skrypt.
W jaki sposób zarządza się zmiennymi i pamięcią w Pythonie? Czy ma stos i stertę i jaki algorytm jest używany do zarządzania pamięcią? Biorąc pod uwagę tę wiedzę, czy istnieją jakieś zalecenia dotyczące zarządzania pamięcią w przypadku przetwarzania dużej liczby / danych?
Co to capacity()jest, std::vectorktóry jest tworzony przy użyciu domyślnego konstruktora? Wiem, że to size()jest zero. Czy możemy stwierdzić, że domyślnie skonstruowany wektor nie wywołuje alokacji pamięci sterty? W ten sposób byłoby możliwe utworzenie tablicy z dowolną rezerwą przy użyciu jednej alokacji, np std::vector<int> iv; iv.reserve(2345);. Powiedzmy, że z jakiegoś powodu …
Muszę uzyskać informacje o wykorzystaniu pamięci VIRT i RES w czasie wykonywania mojego programu i wyświetlić je. Co próbowałem do tej pory: getrusage ( http://linux.die.net/man/2/getrusage ) int who = RUSAGE_SELF; struct rusage usage; int ret; ret=getrusage(who,&usage); cout<<usage.ru_maxrss; ale zawsze dostaję 0.
Odnośnie czarnej sztuki zarządzania pamięcią na urządzeniach iPhone OS: co oznaczają różne poziomy ostrzeżeń dotyczących pamięci. Poziom 1? Poziom 2? Czy tarcza wskazuje 11? Kontekst: Po szeroko zakrojonym okresie testów obciążeniowych pamięci - w tym po uruchomieniu aplikacji na iPada z włączoną aplikacją odtwarzacza muzyki na iPodzie, jestem skłonny zignorować …
Kiedy alokujesz pamięć na stercie, jedynym ograniczeniem jest wolna pamięć RAM (lub pamięć wirtualna). To sprawia, że Gb pamięci. Dlaczego więc rozmiar stosu jest tak ograniczony (około 1 Mb)? Jaki powód techniczny uniemożliwia tworzenie naprawdę dużych obiektów na stosie? Aktualizacja : Mój zamiar może nie być jasny, nie chcę umieszczać …
W jakim celu powinienem użyć std::get_temporary_buffer? Standard mówi, co następuje: Uzyskuje wskaźnik do pamięci wystarczającej do przechowywania do n sąsiadujących obiektów T. Myślałem, że bufor zostanie przydzielony na stosie, ale to nieprawda. Zgodnie ze standardem C ++ ten bufor w rzeczywistości nie jest tymczasowy. Jakie zalety ma ta funkcja w …
Ż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 darmo . Raczej chciałbym wiedzieć, dlaczego …
Nie mam doświadczenia w Celu C. Mam podstawową wiedzę w języku C, w tym pojęcie wskaźników. Mam dwa podstawowe pytania: Czy ktoś może wyjaśnić różnicę między przypisywaniem, kopiowaniem i zachowywaniem za pomocą jakiejś analogii? Jak obsłużysz funkcję, która zwraca zmienną wskaźnikową i jak wykonujesz przesyłanie komunikatów za pomocą wskaźnika powrotu?
Załóżmy, że chcę zdefiniować strukturę reprezentującą długość wektora i jego wartości jako: struct Vector{ double* x; int n; }; Teraz przypuśćmy, że chcę zdefiniować wektor y i przydzielić mu pamięć. struct Vector *y = (struct Vector*)malloc(sizeof(struct Vector)); Moje wyszukiwania w Internecie pokazują, że powinienem przydzielić pamięć dla x osobno. y->x …
Studiuję inżynierię komputerową i mam kilka kursów elektroniki. Słyszałem, od dwóch moich profesorów (z tych kursów), że jest możliwe, aby uniknąć korzystania z free()funkcji (po malloc(), calloc()itp), ponieważ przestrzenie pamięci przydzielonej prawdopodobnie nie zostaną ponownie wykorzystane przydzielić inną pamięć. Oznacza to, że na przykład, jeśli przydzielisz 4 bajty, a następnie …
Zgodnie z tym filmem (około 38 minuty), jeśli mam dwie funkcje z tymi samymi lokalnymi zmiennymi, będą one używać tej samej przestrzeni. Powinien więc wydrukować poniższy program 5. Kompilowanie go z gccwynikami -1218960859. czemu? Program: #include <stdio.h> void A() { int a; printf("%i",a); } void B() { int a; a …
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 dwukrotnie wypuszczam. Jak ustawić jego punkt przerwania? Czy istnieje sposób, aby …
Czytam dokumentację Xcode i jest coś, co mnie zastanawia: __block typeof(self) tmpSelf = self; [self methodThatTakesABlock:^ { [tmpSelf doSomething]; }]; Z dokumentacji skopiowano: Blok stanowi silne odniesienie do przechwytywanych zmiennych. Jeśli używasz selfw bloku, blok tworzy silne odniesienie do bloku self, więc jeśli selfma również silne odniesienie do bloku (co …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.