Potrzebuję w projekcie użyć dynamicznej alokacji pamięci, niestety malloc() zawsze zwraca mi NULL. 1. Proponuję nie używać malloc w projektach embedded. 2. Najprawdoposobniej sbrk jest tylko "kadłubkowa" dla zapernienia linkowania się kodu. Co zrobić: 1. Jeżeli się już uparłeś na "malloc" to proponował bym freeRTOS-a z jego implementacją heap4.c albo...
No tak ;) Wskaźnik to nie to samo co tablica wskaźników :) W sumie jednak nie wiem czemu sobie kompilator tego nie potrafi przeliczyć ;) Przecież zna typ wskaźnika. No tak, tablica wskaźników nie musi być liniowa przecież. wskaźnk: [syntax=c]osoba * osobaMem fscanf(we, "%s", osobyMem->imie); //odczyt[/syntax] tablica wskażnków: [syntax=c]osoba * osobaMemT[];...
Po pierwsze proponowałbym w strukturze już nie używać wskaźników tylko od razu tablic typu char o zadanej długości, bo alokacja pamięci dla każdego elementu struktury jest uciążliwa i może prowadzić do błędów. Poza tym w przypadku kopiowania ciągów znaków należy użyć funkcji strcpy() zdefiniowanej w pliku nagłówkowym strings.h. No i po trzecie, w definicja...
Teraz pozostało mi przenieść projekt z stm32 na lm3s, ponieważ zajmuję się tym w wolnym czasie od pracy, to efektem podzielę się pewnie za kilka dni. To naprawdę nie jest dużo roboty, generalnie (pomijając detale typu zmiana nazw plików czy nazwy projektu) trzeba zrobić mniej więcej "aż" tyle: 1. poprawić tablicę wektorów (to i tak byś miał kiedyś...
Szybka odpowiedź. Trzeba Ci wiedzieć jak działa procesor i Memory Management Unit (MMU). Działa tak, że buduje z kawałków pamięci fizycznej, pamięć wirtualną. Z kawałków o ustalonej długości, im mniejsze kawałki tym lepsza oszczędność pamięci ale większa tablica mapowania fizycznej pamięci na wirtualną i kupa innych kłopotów. Każda aplikacja porusza...
Witam Mam problem z programem, ponieważ, nie mam pojęcia dlaczego się wysypuje, wszystko wygląda ok. Na razie program ma stworzyć 2 tablice, jedną z nich wyzerować i wyświetlić. Stosowałem calloc, ale też się program wysypuje. Proszę o pomoc Pozdrawiam [syntax=c]#include<stdio.h> #include<stdlib.h> #define SIZE_X 80 #define SIZE_Y 22 void...
PC Inspector File Recovery (free - jest na Elce) nie musi używać tablicy alokacji do odzysku plików - po prostu fizycznie czyta dysk. Spróbuj.
Co do odzysku danych wypróbuj ten zestaw: Parted Magic + ChipGenius - CheckUDisk 5.3 .
Coś naplątałeś... Aby uzywać malloca bez dziwnych errorów, musisz zadeklarować odpowiednią ilość miejsca na stertę . Co z tego, ze twoje zmienne zajmują niewiele ramu, skoro najpewniej ustawiles sobie parę kB sterty, i gdy przekroczysz te pare kB, program ci sie natychmiast wykrzaczy, bo oczywiście najpewniej nigdy nie sprawdzasz, czy malloc przypadkiem...
po kolejnych kombinacjach przy starcie komputera dysk twardy wydaje dziwne dźwięki coś jakby silnik chciał ruszyć a nie może i tak kilkanascie razy sobie pomruczy i cichnie Jeśli silnik po kilku-kilkunastu sekundach milknie całkowicie , to wygląda to na uszkodzony preamp . A to juz wtedy tylko wymiana całego zespołu głowic w celu odzyskania danych...
Potrzebuję mieć coś takiego, aby w programie była tworzona tablica 2 wymiarowa, ale taka, że pierwszy wiersz ma np. 2 elementy, drugi wiersz 10 itp. Po prostu każdy wiersz może mieć różną ilość elementów. Ponadto na wstępie zakładam, że nie wiem nic o rozmiarze tablicy, wobec czego mogę ją tylko zadeklarować w taki sposób: vector< vector<int>...
mateo19851 -> Skoro implementujesz wektor polecam zrobić tak: Zgodnie z radą poprzednika, w konstruktorze zrób dane = null albo dane = new int[1] (opcja 2 chyba nawet wygodniejsza do późniejszego stosowania). Do wektora dodaj też prywatny statyczny atrybut określający ilość elementów w tablicy - na starcie (w konstruktorze) oczywiście przypisujesz...
double **tablica; int wierszyczki,kolumny; tablica = new *double[wierszyczki]; tablica[0] = new double[wierszyczki*kolumny]; for(int i=1;i<wierszyczki;i++) tablica[i] = tablica[i-1] + kolumny; tab[i][j] delete []tablica[0]; delete []tablica;
Zależy Ci na danych na dysku? Wygląda jak by się tablica alokacji rozleciała, albo jak by na dysku nie było żadnej partycji.
FAT32 i NTFS różnią się wielkością klastra, również sposobem zapisu tablicy alokacji plików. A po więcej informacji proponuje opcję Szukaj ;)
no ..jeśli ty naciskasz twardy reset -to czego innego oczekujesz? -tak ma byc [czyli nie tak ,nie resetowac w ten sposób [uszkodzenie tablic alokacji ,czy inne kłopoty beda całkiem realne]
Kingston nie jest rzeczywistym producentem, tylko napisem na korpusie. W środku siedzi cos innego. Zawartość sektorów wygląda na wzajemnie spójną. Na szybko nie mam pomysłu, gdzie grzebać dalej. Trzeba by było polecieć dalej po kolei po strukturach logicznych. szukając błędów. Porównać zawartość tablic alokacji plików, kopię boot-rekordu, przyjrzeć...
Skopiuj dane na inny nośnik, usuń partycję, utwórz nową, wkopiuj dane z powrotem. Partycja, to nie worek na pliki, który możesz sobie dowolnie rozciągać, ale zespół struktur logicznych, które dla poprawnego funkcjonowania muszą zachowywać wewnętrzną spójność. Wystarczy, że nie masz zarezerwowanego wystarczająco dużo miejsca dla zwiększenia rozmiaru...
Witam. Mam wykonać polecenie: 'Stworzyć strukturę zawierającą dynamicznie zaalokowaną tablicę dwuwymiarową i jej wymiary. Tablica dwuwymiarowa jest reprezentowana przez odpowiedni wskaźnik.' Oprócz tego jeszcze zwolnić zaalokowaną pamięć. Oto co napisałem.. byłbym wdzięczny gdyby ktoś sprawdził czy dobrze to zrobiłem i ewentualnie pokazał mi błąd. #include...
Możesz spróbować przywrócić tę partycję (najlepiej po uprzednim wykonaniu kopii posektorowej, a co najmniej zapisując dane wycofywania), ale najprawdopodobniej będzie ona uszkodzona. Formatowanie wiąże się z utworzeniem struktur logicznych (boot-sektor i jego kopia, tablice alokacji i katalog główny) nowej partycji, które to struktury nadpisują fragmenty...
Miałem dwie podobne sytuacje. W pierwszej pomogło jednokrotne kliknięcie na nazwie pliku i po jej "podświetleniu", skrócenie (Win98, nie wiem czy w XP to tak działa). W drugim przypadku był to błąd w tablicy alokacji plików i nic się nie dało zrobić, tylko format. Remeknapr
jeśli program do partycjonowania dawał Ci taki komunikat to tym bardziej instalator windowsa nie rozpozna partycji. Krótko o tym co się stało prawdopodobnie wysypała się tablica alokacji dysku czyli to co odpowiada za sterowanie partycjami. Rada można spróbować odzyskać tablice jeśli to się nie uda to format potem sprawdzić czy na dysku nie zrobiły...
Co znaczy nie udaje? Badź precyzyjniejszy. Oba kody mają działać. Błąd masz gdzie indziej. Tablica znaków zawierająca stałą tekstową zostanie utworzona w obu przypadkach w tym samym miejscu. Zmienia się tylko alokacja wskaźnika. Albert
Witam, Przeszukalem spore ilosci GB danych w necie i malo co znalazle na temat mojego problemu (chyba ze slabo szukalem). Do rzeczy: Gralem sobie w karty ma moim laptopie (Q Armada M700 500MHz, 384RAM 12GB HDD)i nagle zauwazylem ze grafika jakas tych kart taka nieciekawa (pol karty czerwone, albo cala czarna). Chcialem skonczyc gre a tu nagle - restart......
O wskaźnikach kolega słyszał? Jak najbardziej słyszał i używał jednakże w tym przypadku wg. mnie wskaźnik będzie miał identyczne zastosowanie jak tablice. Potrzebny podwójny wskaźnik, który mógłby być zwracany z jakiejś funkcji, jednakże należy zauważyć, że wartości tablic są stałe, więc tworzenie wskaźnika, dynamiczna alokacja a następnie wypełnienie...
Zrozum, że w C przekazywanie tabeli do funkcji ZAWSZE odbywa się przez referencję, nigdy przez wartość. Stąd w tym przypadku przekazanie do funkcji tabela lub &tabela jest dokładnie tym samym. Podobnie jak void *ptr=tabela to dokładnie to samo co void *ptr=&tabela, lub void *ptr=&tabela[0]; Jak nie wierzysz to spobi eto skompiluj i zerknij na skompilowany...
Tablica alokacji FAT jest takim jakby spisem treści dla plików znajdujących się na partycji. Informacja o pierwszym klastrze pliku znajduje się w rekordzie katalogu opisującym ten plik. Ponieważ pliki często zajmują więcej, niż jeden klaster, kolejne numery klastrów musisz odnaleźć na podstawie tablicy. Jeśli znasz numer pierwszego klastra, musisz znaleźć...
iosteam na Atmega32? Nie do końca chyba rozumiem: jak przeczytałeś je i nigdzie jeszcze nie wrzuciłeś, to raczej już ich nie masz? A jak wrzuciłeś, to ciągle jeszcze potrzebujesz nowej pamięci dla nich? Prawidłowo, to chyba musisz mieć jeden bufor na najdłuższy łańcuch, a potem alokować dynamicznie miejsce na ten łańcuch i kopiować. Chyba, że chcesz...
Wprowadziłem takie zmiany, kompiluje się i tym razem taki błąd: _CrtIsValidHeapPointer(pUserData) [syntax=cpp] #define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" #include "time.h" typedef struct element { int pole1; char pole2; double pole3; }el_nowy; el_nowy** losowanie(int N) // pobiera jako argument liczbe N struktur, ktore maja...
void koduj(char *wd, key_tab *tab) //wd-wyraz { char zs[10]; gn(zs,10); //generuje zamienniki wyrazu tab[lc].w = malloc (sizeof(char *)); tab[lc].z = malloc (sizeof(char *)); tab[lc].w = wd; tab[lc].z = zs; lc++; } Co robie źle może źle malloca użyłem...
Tutaj moja wiedza sie kończy, myślę że równierz programu- musiał bym poeksperymentować, ale nie mam wolnego pendriva. W takim razie usuń to co zostało zapisane (delete), pozostanie pewno ta volume1, wtedy kliknij na ten dysk i kombinuj co tam masz dostępne w opcjach: wstaw sygnaturę boot MBR, ale to juz tak błądzę ( poczytaj wcześniej sobie poradnik)...
Rozwaliło tablice alokacji. Łatwo nie będzie.
Skoro uwazasz ze udalo ci sie odzyskac istotne dane, to spokojnie wystarczy go przeformatowac tworzac jakas partycje czy kilka w zaleznosci od tego co tam chcesz uzyskac. Sprawdz czy odzyskane progsy dzialaja i czy jestes w stanie poprawnie otworzyc dokumenty. Czasami zdarza sie ze uda sie odzyskac dane ale ze wzgledu na defragmentacje czy bledy tablic...
W zasadzie tak nie należy robić. Dwie gwiazdki obok siebie to już jest podejrzane, a le trzy.... ;) Ale jeżeli chodzi tylko o gimnastykę z językiem C, to trzeba to zrobić tak: Dodano po 28 Tak, taka jest składania. Zmienna tablica wewnątrz funkcji funkcja() jest wskaźnikiem na zmienną tablica z funkcji main() . Trochę mylące jest użycie tej samej nazwy...
Zawsze pisze sie tylko o odzyskiwaniu utraconych danych. Chodzi mi o przypadek w ktorym partycja gdzies ginie np. po nieudanym uzyciu partition magica. Dlugo juz szukam jakiegos dobrego i wmiare prostego rozwiazania (najlepiej uzywajac darmowych narzedzi). Mozna odzyskac dane uzywajac np. Ontrack easy recovery. Ale czy jest jakis sposob na naprawe tej...
Po kolei, z czego ma wynikać alokacja programu :) czy przypadkiem nie z budowy zestawu i wykorzystania niższej pamięci programu dla procedur systemowych:) Do alokacji kodu programu na sztywno służy opcja linkera --code-loc <Value> Domyślnie Wartość = 0. Uwaga kiedy ta opcja jest użyta Tablica Vectorów podąża za wskazanym adresem :) Przykładowo:...
wrzuc kod do flasha, przeciez te procki nie musza miec kodu w RAMie, zeby szybko dzialac. obecnie kod programu zajmuje ci ponad 28kB, wiec nie dziw sie, ze miejsca zaczyna brakowac na zmienne. w jakim srodowisku i z jakim kompilatorem pracujesz? widac z komunikatu, ze linker tego srodowiska w ogole nie wykorzystuje dodatkowych przestrzeni adresowych...
System sam ustali ile przypada sektorów na klaster i sam obliczy ile jest klastrów:) Ilość klastrów odczytasz z tablicy alokacji FAT saź to ile sektorów przypada na klaster odczytasz z BootSectora:) Tak samo z BootSectora odczytasz ile bajtów przypada na sektor ale przy kartach sd jest to chyba zawsze 512 bo tyle ma sam sektor karty :) odczytasz tam...
Witam. Mam problem z prostym programem w ktorym kolko poruszalo by sie od gory do dolu po tablicy. Granice sa oznaczone przez znak '*'. Kolko zaczyna ruch z dolnego lewego rogu po natrafieniu na gorna granice powinno zmienic kolumna na o jedna w prawo i potem jechac w dol etc. Niestety kolko zmienia swoja kolumne o wiele, wiele za wczesnie. Mysle ze...
Witam! Próbuje na wszelkie sposoby i nie udaje mi się znaleźć błędu w programie. Otóż moje skromne dzieło ma dodawać do siebie duże liczby naturalne liczące po ok 100znaków każda i robi to w miarę dobrze dla liczb liczących dokładnie do 23znaków. Potem zaczynają się problemy z błędnymi wynikami i następuje zamknięcie programu zwracające błąd. Stawiam...
Bo wogóle pierwszy malloc nie może brać rozmiaru 6*sizeof(int) ale 6*sizeof(struct bazadanych *)
Pokaż zrzut z co pokazuje SMART Pytanie czy tylko zamazało tablicę alokacji plików czy uwaliło elektronikę.
Witam Piszę program #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <math.h> #define bool short #define false 0 #define true 1 char *wsp; /* zmienna globalna przechowuje nazwy wsp??czynnik?w czyli litery a,b,.. */ /* ========================================... * alokuje pami?? dla...
Podalem ten dokument w polskim jezyku : ActionFront - Tłumaczenie “Drive-Independent Data Recovery: The Current State-of-the-Art”"] Streszczenie Pojęcie “odzyskiwanie danych” w tym dokumencie oznacza dostęp do logicznie i/lub fizycznie uszkodzonego dysku, którego użyteczna kopia bezpieczeństwa nie istnieje. Obecne techniki odzysku...
Przy niezgodnej wersji FW dysk w najlepszym wypadku nie będzie widoczny w BIOSie. Może zacząć klupać i zacząć się "dziwnie" zachowywać. A to wynika z tego co 99none napisał. I nie ma to nic wspólnego z strukturą systemu plików (tablica alokacji itp). Witam, Przy podłączeniu elektroniki z innym Boot Flash code dysk (7200.7) wprawdzie nie będzie "klupać",...
Ponieważ wskaźnik na tab[ww][kk] jest nieokreślony. [syntax=c]Matrix(int _w, int _k) : w(_w), k(_k) { int **tab = new int *[w]; for (size_t i = 0; i < w; i++) { tab[i] = new int [k]; // +++++++++++++++++ for (size_t j = 0; j < k; k++) { tab[i][j] = 0; } // +++++++++++++++++ } ObjectCount++; }[/syntax] [syntax=c]#include <iostream> class...
Hmmm.. Teraz dokladnie nie pamietam bo juz dawno nie uzywalem ale sie postaram... :P Odpalasz program, zaznaczasz obszar ktory chcesz wyzerowac (do dyspozycji MBR, FAT, itd), dalej opcja EDIT -> i tu wlasnie nie pamietam jak sie nazywalo ale ostatnia podswietlona opcja :). Po chwili wyzeruje zaznaczony obszar. Zaznaczanie calego dysku nie ma sensu bo...
Polecam ten programik: http://www.cgsecurity.org/wiki/TestDisk Program trzeba nagrać na bootowalnego flopka i odpalić - przeprowadza się nim skan tablicy alokacji, można zapisać ponownie FAT, ustawić bootowanie partycji, która się nagle "wyłączyła". Ja tak odzyskałem dane z partycji, które po prostu zniknęły. Program partycje odnalazł i naprawił problem....
Problem rozwiązałem sam. Skopiowałem ta partycje PQSERVICE na inny dysk. Sformatowałem ja potem na NTFS ustawiłem jako niewidoczną serwisową, Wpakowałem wcześniej skopiowane pliki. Nadłożyłem plik MBR po czym uruchomiłem przywracanie systemu z płyty. Po mieliło po mieliło wyszedł błąd, ale po restarcie odpaliło się samo przywracanie systemu i wgrał...
Jak rozumiem na dysku logicznym D: czyli penie widzisz tylko jeden plik - ten skrót właśnie ? Pojawił się po infekcji więc to śmieć i widać że odnosi się do jakiegoś śmiecia. Działanie antywira mogło uszkodzić strukturę logiczną. Dysk ma dane we flashu ale tablica alokacji uszkodzona. Spróbuj : http://www.pcinspector.de/FileRecovery/c...
alokacja pamięć jednostka alokacja alokacja pamieci
zamiennik cdm12 siłowniki siemens laptop śrubki
pompa ciepla glikol powietrze pompa ciepla
Gran E100u/2 - Parametry techniczne i specyfikacja Wyłączenie silnika podczas jazdy w Peugeot Boxer III 2.2 HDI