Deklaracja tablicy z wartościami

0

Jak stworzyć tablice tak żeby nie była wypełniona zerami tylko jakimiś przypadkowymi wartościami które przedtem znajdowały się na tym obszarze pamięci (chodzi mi oto zeby jej nie wypełniać potem w programie).

0

Stworzyć tablicę lokalną i używać w zasięgu funkcji, albo przydzielić tablicę poprzez new?

0

No tak zapomniałem - chodzi o ANSI C
Z powodu rozmiaru nie mogę jej lokalnie zdeklarowac

0

no to zaalokuj za pomoca malloc() jaki to problem? Tylko calloc() ci zeruje zawartość.

0

Jak szukasz wartości losowych to ich nie szukaj na stercie. Programy nie widzą siebie wzajemnie, zaś generalnie strony pamięci przydzielane na różne rzeczy i tak są zerowane... Nie pamiętam jak w Linuksie (ze względów bezpieczeństwa powinno być tak samo), ale pod Windows to głównie 'śmieci' z własnego procesu znajdziesz, te zaś są raczej dosyć deterministyczne.

0

Czyli generator tablic musze użyć i dołączyć do kodu ;/
Chyba że da się jakoś "nieinwazyjnie" to załatwic...(tylko podstawowe działanie języka) coś mi się kojarzy ze zmiennymi automatycznymi tylko nie pamiętam czy to w tym języku akurat i jak składnia wygląda ;p

0

To łaskawie napisz co chcesz uzyskać i po cholerę. Jeżeli chcesz wykorzystać pamięć procesu jako źródło entropii dla generatora pseudolosowego to... lepiej tego nie rób bo do Pwnie Awards zgłoszę.

0
/*Najprostsza najbanalniejsza deklaracja typu */
int tab[][][]; //niewiem niech ma nawet 1 mb

/*tablica niech ma nawet w całej objętości 0 ale niech się pojawi choć raz jakiś text np ścierzka pliku albo całkowicie przypadkowa wartość*/

100% pewien jestem że dało się taki efekt dla pojedynczej zmiennej uzyskać.
Po cholerę to uzyskać? Szczerze to sam nie wiem - funkcji ma nie być jak już jakieś są to własne.

0

Dla pojedynczej zmiennej? Po prostu zrób ją zmienną lokalną... Zmienne automatyczne == zmienne lokalne. Tylko się nie zdziw jak nawet na różnych komputerach ta sama zmienna o wartości osobliwej będzie mieć tą samą wartość, kupa rzeczy na stosie/w rejestrach jest (względnie) stała/podobna nawet na różnych systemach. Dla tablic zaś przydzielenie przy pomocy new/malloc/HeadAlloc/GlobalAlloc(dwie ostatnie pod Windows, zaś druga bazuje na pierwszej) i jakieś pozostałości z poprzednich alokacji dostaniesz. Polecam obejrzeć pod debuggerem jak to wygląda.

Tja, zastosowanie tego jako źródła entropii może wydawać się w pierwszej chwili genialnym pomysłem, ale niestety z punktu widzenia bezpieczeństwa to krótko mówiąc fail.

1 użytkowników online, w tym zalogowanych: 0, gości: 1