Witam Szanowną Społeczność,
problem z którym spotykam się po raz pierwszy jest dziwny i upierdliwy. Otóż mam programik który napisałem jakiś czas temu i wszystko było ok. Powróciłem do niego i okazało się, że program nie zachowuje tak samo jak wcześniej. Małe dochodzenie i okazało się, że program wiesza się przy powracaniu z wywołanej funkcji. Tzn. ciało funkcji jest wykonywane ale nie kontynuuje już niczego co jest po jej wywołaniu.
Prosty programik testów
W tym przypadku program ustawi wyjście na Hi ale już nie będzie taktował wyjścia. Rozwiązaniem jest ustawienie funkcji jako inline lub nie odwoływanie się do IO w ciele funkcji. Wtedy funkcja przechodzi ale to dla mnie nie jest rozwiązanie. Docelowy program jest mocno rozbudowany i nie ma możliwości dostosowania go w ten sposób. Podejrzewam, że to kwestia ustawień linkera lub coś w tym rodzaju. Ten program wcześniej działał na tej samej płytce.
Miał ktoś podobny problem ?
PS: Testy wykonywałem na dwóch identycznych płytkach.
problem z którym spotykam się po raz pierwszy jest dziwny i upierdliwy. Otóż mam programik który napisałem jakiś czas temu i wszystko było ok. Powróciłem do niego i okazało się, że program nie zachowuje tak samo jak wcześniej. Małe dochodzenie i okazało się, że program wiesza się przy powracaniu z wywołanej funkcji. Tzn. ciało funkcji jest wykonywane ale nie kontynuuje już niczego co jest po jej wywołaniu.
Prosty programik testów
Kod: C / C++
W tym przypadku program ustawi wyjście na Hi ale już nie będzie taktował wyjścia. Rozwiązaniem jest ustawienie funkcji jako inline lub nie odwoływanie się do IO w ciele funkcji. Wtedy funkcja przechodzi ale to dla mnie nie jest rozwiązanie. Docelowy program jest mocno rozbudowany i nie ma możliwości dostosowania go w ten sposób. Podejrzewam, że to kwestia ustawień linkera lub coś w tym rodzaju. Ten program wcześniej działał na tej samej płytce.
Miał ktoś podobny problem ?
PS: Testy wykonywałem na dwóch identycznych płytkach.