Definicja a deklaracja: http://www.ithelpdesk.pl/kurs-c++/poziom...
Po pierwsze to widzę problem z podziałem zadań i ich enkapsulacją już w pierwszym programie. W głównej funkcji otwierasz plik, ale w innej go zamykasz. Dodatkowo niepotrzebnie operujesz na zmiennej globalnej z pliku. To samo dotyczy wersji obiektowej. Po co obiekt operujący na zmiennej globalnej, skoro sam dla siebie ma otwierać i zamykać plik oraz...
Wątpię, by bez specjalnej deklaracji był tylko we flashu. W czystym C tego nie da się zażądać ( To prawda, czyste C nic nie wie o żadnych FLASH-ach, stosach, RAM-ach i innych (dotyczy to też sekcji, segmentów itp). Ale w realnym życiu używamy konkretnych implementacji, które coś o różnych lokalizacjach w pamięci wiedzą (bo w końcu kod jakoś sie musi...
Można jeszcze zadeklarować zmienną w pliku jednym i drugim z tym że w drugim zmienna z parametrem 'extern' - kompilator będzie szukał zmiennej w innych plikach. No się spóźniłem ;)
Wszystkie funkcje korzystają z globalnie zadeklarowanej struktury i kilku zmiennych pomocniczych. Zadeklarowałem je w pliku nagłówkowym (zmienne.h) ale kompletnie nie radzę sobie z includowaniem i makefile. Albo wyskakuje brak definicji zmiennej albo redefinicja. Mógłbym prosić o przykładowy makefile z dwoma plikami wykorzystującymi zmienne z jednego...
Nie wiem skąd kolega mickpr czerpie pomysły ale wole nie wiedzieć Faktycznie co do zmiennych statycznych wyraziłem się błędnie. Myślałem o zmiennej globalnej - nie będącej zmienną statyczną, a napisałem "statycznej". Zadeklarowanie zmiennej statycznej oznacza współdzielenie jej danym bloku programu. Naśmiewanie się z innych - kolego gaskoin - nie jest...
Pliki nagłówkowe zazwyczaj tworzy się, aby umożliwić współdzielenie - typów danych, funkcji, czy zmiennych globalnych - pomiędzy oddzielnie kompilowanymi plikami źródłowymi. Z tego powodu deklarowanie zmiennych globalnych czy funkcji w plikach nagłówkowych jako static z reguły nie ma sensu, bo chodzi nam o to, aby te zmienne były współdzielone, czyli...
Zmienna static w pliku nagłówkowym? WOW. extern poczytaj...
1. Tworzenie zmiennej globalnej(np. Public plik as Workbook) otwiera wybraną lokalizacje i pozwala użytkownikowi wybrać konkrety plik 2. Po otwarciu - Set plik = ActiveWorkbook 3. W odpowiednim momencie - plik.Close
Pamiętaj, żeby nigdy nie definiować zmiennych globalnych w plikach nagłówkowych. Tam można zrobić wyłącznie deklaracje extern.
Hmm, natrafiłem na kolejny problem w srodowisku Buildera. Konkretnie, pisze program i postanowiłem podzielic kod po miedzy kolejne pliki *.cpp z kodem, które beda "includ'owane" w głównym pliku. Cóz, nieco się zdziwiłem gdy: 1) w każdym z plików musze osobno includowac biblioteki string, math etc. 2) zmienne globalne pliku a, nie sa widoczne w pliku...
a tak w ogóle to polecam ci zamiast tworzyć stada zmiennych globalnych - to nauczyć się dobrze korzystać ze struktur i unii do takich celów. Zobaczysz szybko jakie to kolejne ciekawe i super efekty za sobą niesie ;) a zmienne globalne o których piszesz - mam nadzieję że wiesz że są tylko globalne w ramach jednego pliku w którym mieści się kod. Aby były...
Co należałoby poprawić, aby móc wyeliminować ten błąd, uruchomić program i wygenerować plik? Utworzyć plik o nazwie np. main.h , w którym znajdzie się deklaracja funkcji getPlik (): main.cpp dopisać definicję tej funkcji i przenieść deklarację zmiennej globalnej plik do jej wnętrza: plik , użyć funkcji getPlik () np.: Dodano po 4 A sugestia, że w plikach...
Dołączasz do głównego programu, czyli masz jakiś plik np. main w projekcie. A dołączyłeś do tego projektu plik c zawierający kod twojej "biblioteki"? Pewnie nie, stąd info o braku definicji (btw, wklejaj wyjścia z kompilatora, to ułatwia pomaganie). Czyli wiesz już, że musisz załączyć plik c, oprócz nagłówka. No chyba, że skompilujesz to jako prawdziwą...
No ale w moim przypadku jest trudność bo dochodzi problem z obsługa płótna i nie można uzyskać dostępu z innego modułu (przynajmniej ja nie potrafię) Procedura, czy funkcja może mieć parametry, nieprawdaż :?: W czym problem i po co mieszać w to dll (przynajmniej na tym etapie). Oprócz tego masz jeszcze zmienne globalne...
jeśli mam dwa pliki *.c to obojętnie gdzie daję pętlę main() ? Tak, byle by gdzieś była, tylko przy kompilacji trzeba uważać. Plik bez main() można skompilować tylko do postaci pliku linkowalnego (.o), czyli w wiekszosci kompilatorow z opcją -c. Potem oczywiście poskładać wszystko za pomocą linkera. Można też kompilować wszystkie pliki za jednym zamachem,...
Gdzie masz zadeklarowane typy z którymi masz problem. Plik stm32f10x_it.c musi znać te typy (DIR,FIL...). Dołącz do pliku stm32f10x_it.c nagłówek z deklaracjami tych typów.
Dodałeś do pliku makefile plik lcd.c :?: Jeżeli tak to spróbuj dodać includa pliku ze zmiennymi globalnymi na samej górze pliku main.c (pod standardowymi includami)
Na sam początek to trzeba by było sobie poczytać co to jest definicja funkcji a co to jest deklaracja - bo to są dwie różne rzeczy, a po opisach które widać w tych przedstawionych plikach widać, że kolega miesza pojęcia a to właśnie m.in się mści przy prawidłowym includowaniu plików. Zasada jest taka, że jeśli zrobiłeś sobie np plik z funkcjami do 1wire...
Ja zerknąłem szybko na kod i mam dla Ciebie rady: 1) Zamień wielokrotne ify na switch 2) Staraj się nie umieszczać deklaracji zmiennych globalnych w pliku nagłówkowym. 3) Sprawdź najpierw działanie programu w symulatorze.
Jeśli nie masz pewności co do zapisu konfiguracji, użyjmy zmiennych globalnych i załóżmy, że należy je umieścić w pliku autoexec.bat i ustawić w ten sposób przy każdym uruchomieniu
Dla jednej zmiennej globalnej: Plik naglowek.h: #ifndef NAGLOWEK_H #define NAGLOWEK_H /* Deklaracja zmiennej używanej do obliczeń w kilku modułach */ extern int zmienna_globalna; #endif /* ifdef NAGLOWEK_H */ plik globalne.cpp: /* Definicja zmiennej i przypisanie początkowej wartości - tylko w jednym pliku */ int zmienna_globalna = 42; plik jakistam.cpp:...
.data - zmienne statyczne .bss - obszar sterty na zmienne statyczne i globalne niezainicjalizowane .noinit - nalezy do sterty na zmienne niezainicjalizowane zerem .stab i .stabstr sa uzywane do celow debuggera avr-gdb i nie sa ladowane do pamieci
eeee... no tak, możesz -.- Po co w ogóle przez define'a w tym przypadku to robić? Po prostu deklarujesz odpowiednią zmienną, a potem z jej wartością robisz już co Ci się tylko podoba. Tylko pamiętaj o zakresie zmiennych. I powszechnie odradza się stosowania zmiennych globalnych!
Tyle ,ze właśnie zasięg tej zmiennej globalnej , jest tylko względem jednego pliku ( static w tym utwierdza ) , więc żadne externy nie wchodzą w grę , i o zasięgu zmiennych trochę wiem , dlatego dziwi mnie to okropnie :)
Dla Twojej wiadomości - extern nie deklaruje zmiennej jako zewnętrznej, tylko informuje kompilator, że taka zmienna występuje w innej jednostce kompilacji (innym pliku) i będzie widoczna dopiero po etapie linkowania. Każdy plik jest kompilowany oddzielnie, więc kompilator nie wie, że coś takiego w ogóle istnieje i gdzie (bo skąd ma wiedzieć). Po to...
Bo może wektor przerwań dla tego akurat kanału DMA się nazywa inaczej? Porównaj nazwę Twojej funkcji z zawartością tablicy wektorów. Jeśli masz w projekcie pliki C++, to trzeba przerwania deklarować jako extern "C". 4\/3!!
Witam Programuje w różnych środowiskach od kilku lat ale czegoś takiego jeszcze nie widziałem. Zacząłem dziś tworzyć aplikacje na arma STM32 w środowisku uVision. Stworzyłem nowy plik nagłówkowy w którym chce zadeklarować sobie zmienną globalną. Zastosowałem dyrektywy #ifndef __MAIN_H #define __MAIN_H #endif, wewnątrz zadeklarowałem odpowiednią zmienną,...
Wystarczy dodać do nagłówka danego modułu deklarację zmiennej (typ, nazwę) poprzedzoną słówkiem extern - nie ma potrzeby robić tego ręcznie dla każdego pliku, który używa takiej zmiennej. Tak czy siak, jak masz dużo zmiennych globalnych, to masz dużo problemów (; 4\/3!!
Chyba nie ogarniasz tworzenia nowego okna ;] Dodałeś deklarację na początku pliku - ok. Dodałeś rejestrację klasy MyRegisterClass - ok. Powiedz mi dlaczego w WndProc masz [syntax=cpp]HWND hRysuj, noweOkno; //?? dlaczego one nie są jako globalne ? po stworzeniu buttona już nigdy nie obsłuzysz jego naciśnięcia bo uchwyt zostanie zapomniany do przycisku...
Ja praktycznie w ogóle nie znam .NETa, ale wydaje mi się, że globalne zadeklarowanie zmiennych w pliku dane.h w ogóle nie jest widoczne wewnątrz klasy okna (przykładowo x to prawdopodobnie jakaś własność obiektu okna, a nie zmienna z drugiego pliku). Zdecydowanie przeniósłbym albo te deklaracje do klasy okna, albo stworzył z pliku jednak klasę, którą...
Jak zadeklarować zmienną w c++ tak aby była widoczna we wszystkich plikach dołączonych do projektu ?
Jeśli np. z niektórych zmiennych korzystasz tylko w module usart a nie w main to możesz je zrobić jako global static (chyba te zmienne const się do tego nadają) i wtedy nie trzeba ich też extern robić bo main z nich nie korzysta const musi być znany podczas kompilacji a nie jest. Przerzuć te zmienne do pliku cpp i będzie ok. Ja może wyjaśnię w czym...
po co to 'static'? 4\/3!! static przy zmiennej globalnej powoduje, że zmienna jest widoczna tylko w tym pliku w którym została zdefiniowana. Jest to tzw ukrywanie zmiennych globalnych
2. A mam wątpliwości ponieważ, przy stestin2 podczas kompilacji kompilator zgłasza: Bo deklarujesz w pliku .h i w .c, który ma #include tego .h - w sumie masz podwójną definicję. Zadeklaruj typy tylko w .h, a przed #include w pliku .c, który ma zawierać zmienne, daj #define extern (puste); możesz też użyć #ifndef extern w pliku .h, żeby pominąć to,...
Jeśli pragniesz posłużyć się zmienną globalną widzianą w innych modułach możesz to zrobić na przykład tak: 1) z menu "Project" wybierz opcję "View Source" - w nowej zakładce pojawi się kod źródłowy modułu zawierającego główną funkcję WinMain 2) w w/w pliku zdefiniuj swoją zmienną jako zwykłą zmienną globalną np.: int zmienna; 3) utwórz oddzielny plik...
Te zmienne które musza zostać przechowane do następnego wykonania loop() musisz zadeklarować poza tą funkcją (jako globalne) Niekoniecznie - wystarczy zadeklarować w funkcji, że są "static", np. "static int zm1 = 123;" - to spowoduje, że początkowo zmienna zm1 (typu int) będzie 123, ale jak się do niej potem wpisze coś innego, to będzie przechowywać...
W każdym pliku gdzie używasz zmiennej z innego pliku należy się odwołać do jej deklaracji np. extern struct Time...
Stworz plik main.h w ktorym bedziesz deklarowal wszystkie zmienne uzywane globalnie przez main.c, a takrze prototypy funkcji. W pliku main.h mozesz takze na poczatku dołaczyc wszystkie bibliotki ktorych uzywasz w projekcie ( stdlib.h, math.h itp ) i beda one widziane przez pozostale pliki. Na poczatku pliku main.c dolacz plik main.h, ktory stworzyles...
Nie definiuje się zmiennych z nadana wartością poczatkową w plikach nagłówkowych - co najwyżej deklaruje jako extern. Ewentualnie można inicjalizować w nagłówkach stałe statyczne (static const). Definicje zmiennych globalnych z nadaną wartością początkową muszą być w plikach c/cpp.
w sumie zmienne możne podzielić na kilka rodzajów. Główny podział to globalne i lokalne. Każdy z tych typów może być również zmienną statyczną, przy czym oznacza to co innego dla każdego typu. Lokalna zmienna statyczna jest widoczna tylko w bieżącym bloku kodu (między"{" "}"). Globalna zmienna statyczna to zmienna widoczna tylko w jednym pliku. Z pkt....
... Ok. Mam jeszcze jedno pytanie. Jak w pliku c mam się odwołać do tych zmiennych globalnych ?? Externem ?? Nie przechodzi. :( extern char moje_char_w_sekcji_bootloader[]; /*... przykładzik */ char x,y=0; x=pgm_read_byte_far(moje_char_w_sekc... Ponieważ adres danych , umieszczonych w sekcji .bootloader M128...
A DATACNT nie jest już użyte w którymś z tych dołączanych plików?
Kompilator języka C (zakładając poprawną konfigurację projektu/make'a) nawet jakbyś wrzucił milion niepotrzebnych plików, to wyrzuci z nich funkcje, których nie używasz (tak zwany martwy kod). Nie będą więc one w kodzie wynikowym No tak, ale np. gcc zrobi tak tylko gdy wywołasz go z flagami -ffunction-sections i -fdata-sections. A jeszcze potem trzeba...
w przypadku, gdy jest określona przez zmienną 'MyZakres'? To globalna? można plik przykład?
Chodzi o zmianę ustawień kompilacji w projekcie. Jeśli masz włączoną optymalizację typu -O1, -O2, -O3, -Os albo -Og, to istnieje szansa, że zmienne lokalne zostaną przez kompilator zoptymalizowane w tylko jemu znany sposób, przez co podgląd ich przez debugger będzie problematyczny. Dotyczy to jednak tylko zmiennych lokalnych automatycznych (wewnętrznych...
Twój błąd jest spowodowany tym że w swoim pliku 'plik.h' zadeklarowałeś zmienną globalną. Kompilator kompiluje kazdy plik *.c osobno wiec nie zgłasza błędu, problem pojawia się dopiero przy linkowaniu - linker łączy wszystkie pliki pośrednie *.obj i natrafia na problem - w każdym zadeklarowales te same zmienne i powstaje konflikt. Zeby tak sie nie dzialo...
Witam. Gdy dzielę program na części, tworzę (oprócz pliku main.c) nowy plik x.c i x.h. Pewne funkcje i zmienne występujące w pliku x.c, które chcę udostępnić w innych plikach (np. w main.c), deklaruję w pliku x.h. Dzięki temu mogę z nich później korzystać. Jak należy postąpić, gdy chcę udostępnić zmienną lub funkcję z pliku main.c do innego pliku *.c?...
W załącznikach logi z kompilacji (plik avr.log) oraz reszta plików "projektu". pozdrawiam W
Witam, Mam dosyć dziwny problem ze zmiennymi globalnymi w programie napisanym w C na procesor encore! 6421. Architektura programu wygląda mniej więcej tak: main.c includuje pliki ".h" np uart.f itd... W jednym z plików .h(system.h) chcę zadeklarować zmienną globalną która będzie modyfikowana w przerwaniach w pliku uart.h. W oparciu o tą zmienną wykonywane...
Zapytam w czym Ci przeszkadza 'Public Ala As String'? Boisz się o 10 bajtów RAMu? Naczytałeś się o nieużywaniu zmiennych globalnych, pewnie. Albo po prostu ja nie rozumiem, co chcesz osiągnąć. Własny MsgBox? Jak się boisz zmiennych globalnych, to przekazuj dane między obiektami przez tabele, pliki tekstowe... Bez sensu.
Wszystko działa. Tyle, że odczyt przeprowadzasz do modyfikowalnego parametru lokalnego. I tyle. nic nie robisz z odczytanym tekstem. Polecałbym albo przekazać w parametrze komponent, albo ewentualnie zwrócić tekst przez parametr wyjściowy (modyfikator out), albo zwrócić poprzez rezultat funkcji. Ale uwaga - tak, jak masz teraz zwrócisz wyłącznie ostatnią...
Dla czego nie trzeba dodawać extern? Dla struktury ze zmiennymi dodawałem extern i wszystko się kompilowało. Przecież jeśli chcę mieć np. jakąś zmienną globalna dostępną w jakimś pliku źródłowym to w pliku nagłówkowym muszę dodać przedrostek extern. Drugie pytanie dotyczy tego czy ten wskaźnik przy strukturze ze stałymi jest też stałą bo zadeklarowałem...
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;
Masz tendencję do pisania kodu w sposób uniemożliwiający jego łatwą analizę: - nigdy nie grupuj kilku instrukcji w jednej linii kodu - to formalnie dopuszczalne, ale kompletnie nieczytelne - korzystaj ze spacji do odseparowania wizualnie operatorów w wyrażeniach (z wyjątkiem -> , i * jako operatora wyłuskania) Teraz wracając do Twojego problemu: 1....
Nie jestem specjalistą Keila, ale Twoje podejście do problemu wydaje mi się mocno przekombinowane. Na Twoim miejscu nie dotykałbym pliku rozbiegowego. Co więcej - na początku, skoro jak piszesz, stworzyłeś "prosty" program, w ogóle bym go nie dołączał do projektu. Przy okazji, jeśli już używasz uVision3 wiedz, że ma on (moim zdaniem) bardzo przyzwoity...
NIGDY nie inkludujesz nigdzie plikow C. w pliku naglowkowym danego modulu dodajesz po prostu deklaracje funkcji w postaci (na przyklad) int uart_init(void); pliki h dolaczasz do swoich modulow c tak, aby byly one autonomiczne. zmienne robisz globalne za posrednictwem 'extern' w pliku c jakiegos modulu deklarujesz wiec zmienna np: volatile int zmienna;...
${"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).
Zagmatwany kod, no ale cóż.. Lepiej by było przechowywać w globalnej zmiennej nazwę pliku i w razie dostępu do pliku otwierać go po tej nazwie. W funkcji zapisz() masz tylko rewrite() - otwarcie pliku do zapisu oraz close() - zamknięcie pliku... Kompilator nie jest inteligentny, trzeba mu wskazać jaki plik ma otworzyć - do tego służy Assign(plik, nazwa_pliku)....
Tak, chodzi o zmienne globalne i lokalne (podział). Dzięki, problem rozwiązany :)
W tym przypadku kompilator sobie poradzi. Zmienne globalne, które nie są zadeklarowane jako static, są z definicji klasy extern. Jeżeli programista nie nadaje im początkowej wartości, to kompilatory przeważnie nadają im status symbolu wspólnego (common) dla linkera i umieszczają w sekcji bss (dane niezainicjowane), czyli będą współdzielone przez wszystkie...
A nie możesz ustawić na początku skryptu jakiejś zmiennej globalnej, a na końcu ją usunąć?
Jestem troche zdziwiony implementacją softwareowych licznikow według opisywanych tu sposobów... Po co wykonywać zbędny kod w ISRrze (czyli load, wyifowanie, dekrementacja,store), i to jeszcze oddzielnie dla kazdej zmiennej "timer", tak jak tu: jednego globalnego licznika idącego sobie po prostu do przodu... jeden raz load, dekrementacja, store (bez...
Zmienne globalne są sztywne, czyli może się okazać że zrobiłeś kilka bibliotek zaś nie możesz je użyć razem ponieważ mają zmienną globalną o tej samej nazwie. W C++ jest na to kilka prostych tryków, zaś w C - nie Tu chyba nie masz racji, ponieważ zmienna zdefiniowana zewnętrznie, tak jak napisał kolega (at)Kużdo, trzeba używać rozważnie. Jeżeli chodzi...
Ale ktos inny mógł w pliku .h na ten przykład. Dodaj mu np __ z przodu
Prawdopodobnie masz wyłączone rejestrowanie zmiennym globalnych. ZObacz, czy w pliku php.ini masz coś takiego: ; You should do your best to write your scripts so that they do not require ; register_globals to be on; Using form variables as globals can easily lead ; to possible security problems, if the code is not very well thought of. register_globals...
W jakim celu zmienna FLAGA jest statyczna? To jest zmienna globalna. Czy to jest nieprawidłowe użycie zmiennej statycznej? Zdecyduj albo statyczna ("static" ogranicza zakres do danego pliku) albo globalna. Ewnetualnie zdefiniuj co rozumiesz przez "globalna".
Oczywiście warto stosować aksjomaty obiektowe w programowaniu w C, ale jak bez dynamicznej alokacji nie użyć zmiennej globalnej? Oczywiście można ją ukrywać w pliku C dodatkowo zaopatrywać w static, ale tego się nie obejdzie. Dopisałem jak ja bym do tego podszedł, a nie odpowiedziałem sobie, bo nie oczekiwałem odpowiedzi, a raczej komentarza od bardziej...
Wg mnie dobrze kombinujesz z buforem statycznym. Jeśli masz tylko dość pamięci to powinieneś pójść tą drogą, a odpowiedź na Twoje pytanie jest dość proste, tak mi się wydaje. Zrób po prostu funkcję, która będzie zwracała wskaźnik do Twojego bufora, coś na kształt: [syntax=c] uint8_t * buffer_get_ptr(void) { return UART_RxBuf; } [/syntax] W pliku nagłówkowym...
(edit: ADI-mistrzu - widzę, że pisaliśmy równocześnie :) ) Koledzy już wyjaśnili znaczenie tych symboli, ale wydaje mi sie że potrzeba jeszcze kilka uwag "dlaczego" Postaram się prosto, choc w jednej linijce się nie zmieszczę static: jak już napisali inni ma dwa znaczenia: -użyta do zmiennej zadeklarowanej poza funkcjami (globalnej) czyni ja niewidoczną...
Czy kolega Karol966 może bardziej przybliżyć powyższe kody' C? Który jest który, chodzi mi o to jak nazwać pliki z nimi. Zmienna temp jest zmienną globalną czy ostatni kod to main.c?
To oczywiste. Tak wygląda obecny kod: Rozumiem, że używasz zmiennych globalnych? Tak by wynikało z definicji funkcji, którą zamieściłeś powyżej.
Bardzo upraszczając: są dwa obszary w zmiennych globalnych 1. Zerowany 2. Inicjalizowany wartościami z pliku startowego (pamieci flash w uC) - ale jest to zwykłe kopiowanie wartosci. 3. Static mogą być w innym segmencie np po to aby móc discardować w przypadku gdy funkcja przestanie być potrzebna - ale to tematzupełnie inny i bardzo zaawansowany nie...
I wszystko się teraz zgadza. Napisałem w swoim programie tak, jak jest w poście, co linka teraz podałeś. Program skompilował się bez błędów, tak więc: W pliku "setup.h" mam deklarację z extern, to samo w pozostałych plikach, gdzie chcę tej struktury użyć. Oczywiście w tych pozostałych plikach musi być zaincludowany plik "setup.h". A dopiero w pliku...
To nie kwestia debugera, tylko trywialności przykładu, który został przez optymalizator potraktowany tak, że połowę kodu wyrzucił, w tym zmienną lokalną. A nie da się debugować czegoś, czego nie ma. Zaglądnij do pliku lst a się przekonasz. Utwórz zmienną globalną, dodaj ewentualnie volatile, żeby zniweczyć dzieło optymalizatora i sprawdź wtedy. A tak...
Taki zapis ( definicja )powinien być w jednym pliku C (zmienna globalna) volatile unsigned char stan = CZEKAJ; w pliku headera (chyba sensor.h) tylko deklaracja extern volatile unsigned char stan; w żadnym wypadku nie można dawać w headerze (pliku *.h) includowanym do wielu plików *.c definicji zmiennej statycznej static unsigned char stan = CZEKAJ;...
To co powyżej. I to załączam do drugiego pliku poprzez #include "Druzyny.cpp" Dodano po 4 Program mi zadziałał jeśli nie przypisywałem żadnych wartości. Miały one wartość 0 jako zmienne globalne. Natomiast jeśli przypisuje im wartość ( w tym pliku dołączanym). druzyna[0].zawodnik[0].skillsGK = 17; To mam komunikat: expected constructor, destructor,...
post 13 minut temu Post #1 Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 13.01.2012 Ostrzeżenie: (0%) ----- Mam takie pytanie, używam softu MegaBIP Jan Syski, dostawca ten twierdzi, że do działania jego softu muszą być zmienne globalne włączone, natomiast hosting, którym jest home twierdzi, że że względu bezpieczeństwa nie powinno być to włączone...
Gdziekolwiek, szklana kula by pomogła. Z braku wskazówek warto pomyśleć o przede wszystkim błędzie w programie, przepełnieniu stosu lub braku pamięci. Zauważ, że 58% zajętej pamięci RAM dotyczy wyłącznie zmiennych statycznych i globalnych, jeśli intensywnie używasz zmiennych lokalnych i stosu (np. wielokrotne wywołania funkcji i intensywne korzystanie...
Ona już jest zmienną globalną Czy to wynika z dodatkowych atrybutów? Pytam, bo trochę uprościłem opis mojej sytuacji - u mnie funkcja odczytu zdefiniowana jest w innym pliku. Nie zagłębiałem się jeszcze w znaczenie tych dodatkowych parametrów przy deklaracji zmiennej mcusr_mirror.
MSDN jest naprawdę kopalnią wiedzy i warto tam zaglądać... W C# nie masz funkcji globalnych, ale możesz dopisać swoje metody do głównej klasy programu, lub stworzyć sobie jakąś klasę z metodami statycznymi. Zazwyczaj używa się ścieżek względnych, jeśli jakaś metoda ich nie przyjmuje, w kodzie powyżej masz sposób na uzyskanie ścieżki do pliku wykonywalnego....
... i podawaj język C++ , a nie tylko platformę Visual Studio. Nienaturalne wg mnie jest: a) używanie char[] zamiast std::string (w pewnych przypadkach sizeof cię zawiedzie itd) b) nazwy funkcji nie do końca oddające ich przeznaczenie i argumenty nie wykorzystywane, albo wykonywanie czegoś w funckji w oparciu o zmienną globalną c) sztywna tablica fur
JakiSensor = "rainfall" Po co to? skoro masz nazwę sensora juz tu: Sensor = (Ip0 .. "1") Nie używaj zmiennych string !!!!!!!!, zastępuj je liczbami. Nie sprawdzę tego programu w całości bu musiał bym zestawić wszytko co masz podłączone, algorytm wyszukiwania sprawdzony działa. Możesz użyć zmiennych lokalnych, i każdy sensor umieścić w innym pliku, każdy...
[url=https://www.php.net/manual/en/class... obsługuje domyślny handler]. Jest to klasa obsługująca i może dane sesji zapisywać w plikach na serwerze stron http lub w innym serwerze np SQL. [url=https://www.php.net/manual/en/funct... to sie w głównym skrypcie wywołującym stronę index.html lub...
Co do zajętości pamięci to wklejam info z kompilacji skatch'a: "Szkic używa 404181 bajtów (38%) pamięci programu. Maksimum to 1044464 bajtów. Zmienne globalne używają 34524 bajtów (42%) pamięci dynamicznej, pozostawiając 47396 bajtów dla zmiennych lokalnych. Maksimum to 81920 bajtów." Załączniki spakowane, bo to zawsze trochę oszczędności w wielkości...
Nie da się jakoś podglądnąć tego co wypluje kompilator??? ja podglądnąłem coś takiego z pliku z rozszerzeniem hex (to tylko część) ale to nie po ludzku Powinien być jakiś "asm".
nie występuje w UserControl_Settings lecz w UserControl_Pc_Stats. No i to jest coś, nad czym możemy popracować. Można użyć kilku sposobów; 1. Użyć jednej z metod UserControl_Pc_Stats.OnShow, UserControl_Pc_Stats.OnEnter, (nie wiem co tam dalej jest dostępne dla tej kontrolki ) i w procedurze obsługi jednego z tych zdarzeń dodać tę linię, która odczytuje...
Plik Procedury.h:[syntax=c]#ifndef Procedury_h #define Procedury_h #include "Arduino.h" #include "pcf8574_esp.h" void zapis_wyjsc(int wy1); #endif[/syntax]Plik Procedury.cpp:[syntax=c]#include "Arduino.h" #include "Procedury.h" #include "pcf8574_esp.h" void zapis_wyjsc(int wy1) { if (wy1 == 1) { expander_WY_A.write(0, 1); } else { expander_WY_A.write(0,...
Cześć, kupiłem zamiennik Arduino Nano V4.0 i nie chce mi się wgrać program. Wyskakuje mi taki komunikat. Mógłby ktoś dać wskazówkę, jak to zniwelować? AI: Jaki dokładnie komunikat błędu pojawia się podczas próby wgrania programu? Szkic używa 1108 bajtów (7%) pamięci programu. Maksimum to 14336 bajtów. Zmienne globalne używają 9 bajtów (0%) pamięci dynamicznej,...
To czy wszystko wrzucisz do jednego pliku czy podzielisz na osobne to zależy od wielkości programu i twoich nawyków - tu nie ma sztywnych reguł. Oczywiście sensowniej jest wydzielić pewne moduły do osobnych plików. Łatwiej potem coś znaleźć. Co do tablicy zmiennych - jak rozumiem chodzi ci raczej o globalną strukturę, zawierającą parametry pracy sterownika....
Tu się zgodzę, ale na początku zmienne i prototypy zacząłem wrzucać do pliku .h Najpierw były tam funkcję które faktycznie miały być globalne, potem szły tam wszystkie po kolei. Efektem tego było to, że w main.h było z 25 funkcji i zmiennych extern bo nie można było tych plików wprost includować. Keil zgłaszał masę błędów o ponownej deklaracji zmiennych...
Co najciekawsze, w przypadku innych zmiennych z różnych plików, jest deklaracja extern... Jak sie tak zastanowić, to można doszukać się przyczyny. Najpierw zmienne z EEPROMu były wykorzystywane przez fragment zawarty w całości w jednym pliku źródłowym. Później doszedł drugi plik i występowały oczywiste błędy przy linkowaniu. Jako, że to pierwszy projekt...
(at)jta Wczytując się w jego program wydaje mi się że wiem o co mu chodzi. Chce uruchomić okienko w którym można wpisać frazę, następnie je zamknąć. Ta wpisana fraza powinna znaleźć się w zmiennej "Ztest". Wynika to z linii "Ztest=A.on_key_release(self.i) ?????", która jest nieprawidłowa i w nieodpowiednim miejscu. Nieprawidłowa bo "self.i" nie jest...
Trochę za dużo uprościłem plik CykCyk. Chodzi o to że w pliku cykcyk będzie wszystko działało do puki nie przełączysz się między jakimś innym skoroszytem. Wtedy auto zapis będzie działał na tym innym pliku. Trzeba po prostu na wstępie (podczas startu) "pobrać" nazwę pliku który ma być autozaapisywany i ją zachować w zmiennej globalnej i powoływać się...
Co do przypisywania zmiennym rejestrów to raczej nie przyniesie oczekiwanego efektu, ponieważ kompilator i tak będzie korzystac z pomocniczych rejestrów. Hmm, nie wiem co masz na myśli? Stosowałem skutecznie technikę wkazaną przez trol.six do zoptymalizowania kodu na tiny2313 (pod gcc 3.4.5), zajmując jeden z rejestrów indeksowych (bodaj Y - r28, r29)...
Jeżeli wiesz, że odpowiedź z wagi będzie miała faktycznie długość 10 bajtów, to najprościej można to zrobić tak: [syntax=c] WriteFile(hNumPort, lpBuffor_write, strlen(lpBuffor_write), &RS_ile, 0); RS_ile = 0; do { ReadFile(hNumPort, lpBuffor_read, 10, &RS_ile, 0); } while(RS_ile<10); [/syntax] Po co zmienne globalne deklarujesz jako static?...
Hmm, czy nie jest bardzo wolny to bym dyskutował :) ale z pewnością to niezły kombajn. Jeśli chodzi o tą opcję "go to definition" to umieszcza ona kursor na definicji zmiennej globalnej po zaznaczeniu jej w kodzie, i to chyba tylko w obrębie jednego pliku źródłowego.
Mam glupi problem - chce w tasku display.c poslugiwac sie zmienna globalna, ktora rowniez ma byc wykorzystywana w programie glownym main.c. Wiem, ze sprawa jest banalna ale rozne kombinacje nie przyniosly skutku. Prosze o podpowiedz: w ktorych plikach powienienem umiescic (chyba) extern char zmienna albo cos jeszcze??. Mam do dyspozycji: display.c display.h...
Problemem nie były akurat jednostki kompilacji ale po prostu przekazywanie przez wartość - twoja funkcja zmieniała lokalne kopie, a nie zmienne globalne. Jeśli zamierzasz mieć więcej regulatorów to rozwiązanie jest z wskaźnikami jest w porządku, jeśli masz tylko jeden, prościej będzie w 1 pliku zdefiniować zmienne signed short K_P=0, K_I=0, K_D=0; a...
Może napisz jeszcze co ten program miałby robić... Np. co jest podłączone do pinów PA5, PA6, PA7. Jeśli to ma być rejest przesuwny (jak pisze BoskiDialer ) to można go opisać duuuużo prościej. Rozumiem, że jednoliterowe nazwy zmiennych globalnych są Twoją metodą na oszczędzenie klawiatury i ograniczenie rozmiaru pliku z kodem źródłowym... :] Pozdrawiam,...
zmienne globalne globalne radio hasła globalne
gniazdka angielskie czcionka chrome wartość skuteczna napięcia tętnień
Wpływ mat wygłuszających z folią aluminiową na TPMS Szary ekran w tablecie Lenovo M11 - co robić?