A gdzie w programie glowny.c masz dołączony plik nagłówkowy podprogram.h? I gdzie taki plik wogóle jest stworzony?
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...
Jesteśmy świadkami, jak cała konstrukcja jest generowana przez AI. Nie tylko kod programistyczny, ale również sposób łączenia elementów. Na razie modele radzą sobie z popularnymi elementami, pewnie kwestia czasu, jak zostaną przetrenowane na datasheetsach elementów elektronicznych. . No właśnie AI kiepsko radzi sobie z Datasheet. Nie za bardzo radzą...
(at)osctest1 Nie wiem. Może ty odpowiesz na to pytanie? Tablica globalna char znak (at)Sareph Tak wiem że jest wolniejszy dostęp do tej pamięci.
Cześć! Poszukuję wsparci gdyż powstał mętlik w głowie. Mam program, który komunikuję się z modułem GSM, używa wielu globalnych tablic, funkcji operujących na strumieniach typu strcpy, str n cpy, strstr, strtok, poniżej wklejam większość deklaracji dużych zmiennych: Dodano po 1 Przeniosłem deklarację StackPoint z .int1 do .int3 i program zaczął wyświetlać...
Słabo znam OpenVPN (korzystam z innych rozwiązań) więc musisz doszukać dokumentacji. Topologia, o której piszesz nazywa się Hub and Spoke. Do separacji ruchu można użyć firewalla lub list kontroli dostępu, przy czym nie rozwiązuje to problemu bezpieczeństwa (łatwo popełnić błąd lub coś pominąć w konfiguracji) ani problemu z konfliktem adresacji. Lepsze...
AD 1. Możesz zrobić np tablicę 10 wskaźników na chary i tam wpakować swoje stringi. Pamiętaj, że string charakteryzuje się tym, że ma na końcu zawsze null terminator i nie musisz znać długości stringa żeby cokolwiek z nim zrobić. Czemu w ogóle chcesz to rozwiązać tak śmiesznie ? Tzn tablica globalna stringów + jakaś funkcja, która na niej operuje zwracając...
Witam, Mam taki problem, otóż: Mam taką klasę: [syntax=cpp] class pole { public: char znak; pole *lewo, *gora_lewo, *gora_prawo, *prawo, *dol_prawo, *dol_lewo; }; [/syntax] W mainie chciałbym mieć: (poki co tablica jest globalna) [syntax=cpp]pole *tab[11][11];[/syntax] i chciałbym przekazać tą tablice do funkcji która wygląda tak: [syntax=cpp] void...
Nie jestem pewny czy do końca rozumiem problem, ale zmienna zdefiniowana jest jak sam napisałeś jako zmienna globalna - jako tablica składająca się z elementów typu struct. Sam element struct może być zdeklarowany w projekcie albo pochodzić z jednej z używanych bibliotek.
dobra uporałem się z jednym problemem, trzeba było ustawić tablicę c globalną. Już tak robiłem ale miałem jeszcze inny błąd. Chyba chodzi o ustawienia stosów w linkerze? Czyli teraz moje przerwanie wygląda tak: void TIM1_CC_IRQHandler(void) { if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) { ADC_ExternalTrigConvCmd(ADC1,...
Spróbuję tak zrobić i prawdopodobnie to pomoże, tak samo jak pomaga dopisywanie linni. Choć dalej nie wyjaśni to problemu - a to mnie najbardziej nurtuje. Apropo sterty jeszcze - w innym projekcie miałem bardzo podobny problem ale dotyczył właśnie zmiennej globalnej. Była sobie globalna tablica: uint8_t RGB[48]; w której podobne jaja zaczęły się robić...
No tak zapisałem ze stałymi w funkcji bo tablica miała być globalna ale z pomocą pierwszego zapisu można zamknąć ASM z parametrami i zwracaną wartością. Najczęściej jest to w makrze albo jako static inline( nagłówki z 'avr-libc'). Dlaczego? Bo są inlajnowane a dostępna składnia pozwala kompilatorowi na lepszą optymalizację. Noże dzisiaj ostrzymy na...
Witam mam program, ale nie wiem co napisać, aby obliczał on najmniejsza wylosowaną liczbę.Tutaj jest mój program: [syntax=Pascal] program losowe_liczby; uses crt; var { dla uproszczenia niech tablica X bedzie globalna } X: ARRAY[1..36] of integer; i: integer; procedure zapelnij; begin writeln('Wylosowane liczby to:'); for i:=1 to 6 do begin x [i]:=random(36);...
Tablica jest zadeklarowana jako globalna dla tego pliku. Atrybut volatile faktycznie jest tam nieco nad wyraz ale w sumie nic nie zmienia. Dodam, że w dalszej części kodu jest linijka, która testowo przypisuje jedną z wartości z tablicy do pewnej zmiennej. Poza tym wyłączyłem opcję optymalizacji dla czasu wykonania. Myślałem, że przez to jest to ładowane...
Czy deklarując w bascomie globalna zmienna tablicowa byte o wielkośći 224 Dim Tablica(224) as byte Muszę jakość ją uwzględnić przy parametrach $hwstack = 250 $swstack = 250 $framesize = 25 Procesor to atmega64
nie no - sizeof() podaje rozmiar tablicy, ale nie zawsze. Jeśli tablica jest "widoczna" dla tego sizeof'a (czyli np. jest globalna w tym właśnie pliku, lokalna w tej właśnie funkcji), nie jest tylko wskaźnikiem na tablicę itd. to sizeof zwróci rozmiar tablicy w bajtach. [syntax=C]int tablica[] = {0, 1, 2, 3, 4}; extern int tablica_globalna_z_innego_pliku[];...
Co jest jeszcze źle ? Pominąłeś 1. Użycie zmiennych globalnych. Globalna zmienna i używana jako indeks w każdej pętli to tragedia; każda pętla powinna mieć własny indeks! Zmienna tablica też powinna być lokalna wewnątrz funkcji main.
Jedyny problem jest taki, że zmienisz tym sposobem lokalizację tylko jednego stosu (np. tego od przerwań) - na stosy wątków wpływ masz minimalny. To fakt, choć jeśli chodzi o FreeRTOS, to wspomnianymi wyżej narzędziami stwierdziłem, że jest w miarę ok. Taski są w moim odczuciu na tyle przewidywalne, że jeśli są określone z zapasem za pomocą watermarków,...
Ja w swoim urządzeniu zastosowałem taki algorytm: unsigned char ilpom; // licznik ilości pomiarów. dla każdego kanału wykonuję w pętli ilpom pomiarów. Najpierw zeruję tablicę - np. kanal Dodano po 7 unsigned int pomcal(char kanal, char licznik) // funkcja pomiaru ADC { uint16_t pomiar(uint8_t); // deklaracja typu funkcji dla pomiar...
Twoja tablica jest alokowana na stosie, ktorego jest ograniczona ilosc (w skrypcie linkera mozesz ja zwiekszyc). Tworzenie duzych obiektow na stosie nie jest zbyt dobrym rozwiazaniem. Powinienes w takim przypadku uzyc tablicy globalnej lub zaalokowac ja dynamicznie (za pomoca malloc).
co do zmiennych to wiem o o chodzi w globalnych i lokalnych. moim zdnaiem powinna zwrócić wartość SLOWO char tablica[30] ; char zapis() ; int main() { cout<<"wywolanie funkcji" << endl ; zapis(); cout << tablica ; return 0; } char zapis() { char tablica[30] =...
...Ponadto tablica w kodzie mickpr jest zadeklarowana globalnie, czego podobno należy unikać. Czy dzięki wskazaniu pierwszego elementu tablicy zyskamy dostęp do całej? Czy wewnątrz funkcji da się wtedy zainicjalizować tablicę w ten sposób : tab = {{.....}, {.....}, {.....}} ? Ja założyłem, że zawsze znamy rozmiar tablicy. Autor nie powiedział,...
ej kurde no [; chetnie bym ci powiedzial jak sprawa wyglada w GCC, ale nie kumam tego co on tam wyczynia niestety [; na poziomie optymalizacji 0 ... kod wykonuje misaligned read i ... idzie dalej /; odczytuje jednym LDRem (zwyklym!) adres konczacy sie na -B (czyli 11, czyli niezbyt podzielny przez 4), a odczytana przez niego wartosc jest wysoce abstrakcyjna...
Bardzo często pisząc programy posługujemy się zmiennymi lokalnymi, które teoretycznie zwalniają pamięć jeśli nie są używane... ale dlaczego przestawiając podział pamięci na zewn. SRAM (kostka 62256), zmienne te jakby się nie inicjowały i program się wywala? Przykład: dodałem do makefile LDFLAGS += -Wl,--section-start,.data=0x801100,--def...
Witam. Wziąłem się ostatnio za komunikację z komputerem. Napisałem program który na razie tylko wysyła ciąg znaków. Oczywiście chciałem aby wszystko odbywało się w przerwaniach. Napotkałem na taki problem, który nawet nie wiem czym może być spowodowany. Oto kod: [syntax=c]#define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h>...
Tu też po raz kolejny się pokazuje, że uczyć się programowania jest lepiej na pececie Kompletnie się nie zgadzam. Wydajność kodu w zależności od jego konstrukcji będzie się znacznie różnic na systemach z cache-em i bez! To są dwa różne światy! Doktoraty powstają na ten temat, jak należy pisać "pod cache". A co do tego ma mikrokontroler - nic. Tam będą...
[syntax=cpp]void Wyswietl(zawodnik *wsk,int k)[/syntax] int k przez referencje;) I po co tyle bibliotek załączasz?
Witam serdecznie, mam problem z przekazywaniem wartosci na zmiennych globalna lokalna... mianowicie w funkcji int czy_mozna_momalowac(int nr, int kol) wartosc wyniku zmiennej mozna nie zostaje zwrocona.... pozdrawiam oraz z góry dziękuje za wskazanie błędu/pomoc/poprawienie kodu ;) #include<stdio.h> #include<conio.h> #include<iostream>...
1. Nadal używasz bibliotek z C++ w kodzie C. Nie rób tego, usuń je. Korzystasz z Dev-C++, który używa tego kompilatora co ja (MinGW, czyli windowsowy kompilator GCC) i pozwala na takie rzeczy, dziwne, muszę doczytać dlaczego. 2. Co to za zmienna globalna int l ? Po co jest globalna? I jaką ma mieć wartość? Bo używasz jej jako warunek zakończenia pętli...
Witam ! Zdania na ten temat są podzielone, niby dzisiejsze IDE pozwalają na pokazywanie np jakiego typu jest dana zmienna. Dopiero się uczę, więc proszę zawodowych programistów o odpowiedz. Czy w praktyce stosujecie notacje węgierską ? Bo jeśli tak to sam zacznę ją stosować i wyrabiać już sobie dobre nawyki. Przedrostki notacji węgierskiej : Typy zmiennych:...
Witam wszystkich. Od jakiegoś czasu pracuje na pewnym projektem. LCD320x240 z panelem dotykowym, ARM AT91SAM7S256... Mam sobie podprogram który w przyszłości będzie mi pokazywał zdarzenia jakie miały miejsce w otoczeniu modułu. Utworzyłem sobie coś w postaci kubełka na zdarzenia gdzie pierwszy wpis w tablicy jest najświeższy. 100 wpisów po czym najstarszy...
${"obraz{$i}"} = basename($_FILES['userfile']['name'][$i]... tu jest przepisanie nazwy z tablicy globalnej na zmienną lokalną (sama nazwa bez rozszerzenia tam było przyjęte pisanie do bazy jedynie nazwy i obsługa jednie jpg. Potem było to składane na zasadzie $adres.$plik.".jpg" gdzie 1 człon to adres względny 2 nazwa pliku 3 rozszerzenie).
Okij, wyciągnąłem funkcje sterujące FT ze swojego programiku. Ponieważ pisalem go dawno temu, trochę zapomiałem niektore szczegóły, ale powinno to dzialac. W każdym bądź razie u mnie działało. No to po koleii : Na początek wykrywanie podłączonych urządzeń : FT_ListDevices((at)ile,nil,FT_LIST_NUMBE... gdzie ile jest typu word. I jeśli znajdzie jakiś...
Tak to jest, kiedy nie sprawdza się stanu przycisków w przerwaniu timera... Wracam do tematu, bo zrobiłem własny projekt zamka na szyfr z wykorzystaniem klawiatury szesnastkowej i czterech siedmiosegmentowych wyświetlaczy. Wszystko ładnie działa, tylko napisałem obsługę klawiatury z wykorzystaniem delayów, wiec widać, że słoma z butów nieco wystaje....
Pamięć programu to pamięć programu, w niej te tablice nie są trzymane, więc zmiana ich rozmiaru nie wpływa na wynik. Powinieneś patrzeć na zajętość pamięci SRAM (o ile to są tablice globalne, bo jeśli są lokalne to też nie zostaną pokazane). W ostatnim przykładzie zużycie FLASH ci rośnie, bo robiąc indeksy do 300, przekraczasz 8-bitową granicę i jest...
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...
Trochę mało informacji podałeś. Lpiej by było podać pełny program. Może brakuje Ci ramu? :D
Nie da rady. Zwróć uwagę, że w zasadzie typ argumentu funkcji nie jest taki sam, jak typ zmiennej globalnej (tablica), a tylko kompatybilny (de-facto wskaźnik na tablicę, chociaż to taka namiastka referencji w C). Jedynie możesz "zenkapsulować" obiekt, tzn. stworzyć globalną strukturę ze wskaźnikiem na tablicę i rozmiarem i coś takiego przekazać do...
Witam. Mam następujący problem. Pętla: [syntax=c]for(i=0; i<len; i++) {printf("%x ", buf[i]); img_buffer=buf; }[/syntax] Chodzi o to że pętla for jest w funkcji wywoływana kilkukrotnie, więc printf wyświetla mi wszystkie elementy tablicy. Chciałbym przypisać całość tej tablicy w nowej globalnej tablicy img_buffer, jednak do niej przypisuje mi tylko...
zeby zrobic sesje nalezy na samym poczatku pliku - jeszcze przed wyslaniem naglowkow wstawic session_start(); a następnie odwoływać się do globalnej tablicy $_SESSION, np: $_SESSION['login']=$login;
...czy nie ma możliwości w Xdata umieścić globalnej tablicy ??... Jeśli w startupie włączysz wewnętrzny XRAM , to zmienne mogą być zarówno globalne jak i lokalne. Ba , nawet stos można tam wsadzić :D Piotrek PS A co do błędu kompilacji , to ... popatrz(policz) dokładnie na klamry w moim przykładzie :D
Odpowiednie typedefy są w nagłówku stdint.h Co do podziału pomiędzy przerwanie a program główny to pewnie zapomniałeś modyfikatora volatile przy deklaracji zmiennych, które są dzielone pomiędzy przerwaniem a main(). Co do "tablicy czujników": struct czujnik { uint8_t adres; /* do wyboru czujnika na szynie */ uint8_t ileProbek; uint16_t probki[ROZMIAR];...
To może zacznij od wyszukania analogii w swoim kodzie. Na pierwszy rzut oka ciągle powtarza się zapis/odczyt rejestru układu. Wydziel to do oddzielnej funkcji. Co chwilę odmierzasz timeout transferu TWI. To również można wydzielić do tych funkcji. Na chwilę obecną trudno zrozumieć flow Twojego programu bo co chwilę powtarza się sekwencja zapisu/odczytu...
Zmodyfikowałem odrobinkę twój kod. Od teraz, proszę zamieszczać ten kod (jeżeli będzie taka potrzeba) w wersji spakowanej, bo jest on dość długi co poważnie utrudnia przeglądanie wątku. 1. Pozmieniałem "odrobinkę" nazwy zmiennych. 2. Dodałem definicję rekordu dla klienta wypożyczalni. 3. Usunąłem zbędne tablice, zmienne globalne itd. 4. Dodałem funkcję...
czyli jeżeli przekażę do funkcji tablicę globalną przez wartość zadeklarowaną jako: const uint8_t tablica[1000]; to wewnątrz wewnątrz funkcji program będzie się odwoływał do poszczególnych komórek pamięci(bo nie może zostać zoptymalizowana) ? ale jeżeli utworzę tablicę globalną jak poniżej: static const uint8_t tablica[1000]; i również przekażę ją do...
Pewnie dałeś k jako tablicę lokalną. Albo zrób z niej globalną albo wyzeruj: char k Może zacznij od podstaw programowania.
błąd możesz mieć nawet po main :). Przeanalizuj poniższy kod. #include <windows.h> class CLS { public: CLS(); ~CLS(); }; CLS::CLS() { MessageBox(0, "Konst", "Konst", MB_OK); } CLS::~CLS() { MessageBox(0, "Dest", "Dest",...
Próbujesz utworzyć tablicę z atrybutem PROGMEM jako zmienną lokalną, jest to sprzeczność i dlatego dostajesz ostrzeżenie od kompilatora. Przenieś tablicę na zewnątrz funkcji main (żeby była globalna).
Niestety, ale jeśli chcesz tablicę wskaźników, przy czym wskaźniki wskazują na konkretne bloki pamięci, musisz je inicjalizować. Jeśli obie tablice są globalne, to bez problemu powinno dać się to zrealizować jakoś tak: [syntax=C]static char buff0[5][20]; char *menu_main[5] = { buff0[0], buff0[1], buff0[2], buff0[3], buff0[4] };[/syntax] lub równoważnie:...
Zmienna globalna, inicjujesz na początku programu.
klawiatura globalna globalna zmienna arduino globalna
philips częste usterki bateria podróbka brother brudzić wydruk
kocioł olejowy bufor lodówka turystyczna ogniwo peltiera
Sprawdzenie zgodności fazy głośników w zwrotnicy Niedopasowanie fazowe głośników a jakość dźwięku