logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Błędy kompilacji AVG GCC, pomija fragmenty kodu?

rpal 30 Sty 2009 10:27 1467 7
  • #1 6075638
    rpal
    Poziom 27  
    Czy jest możliwe aby AVR GCC w połaczeniu z AVR Studio 4 podczas kompilacji "pomijał" fragmenty kodu. Ostatnio zauważyłem (używam JTAG-a) że modyfikując kod nie odnosiło to żadnego skutku dla wykonywanego programu. Patrząc co się dzieje, wykonując pracę krokową w połączeniu przeglądaniem kodu w assemblerze wyszło jak wół że mojej procedury w ogóle nie ma a przecież byłla w pliku. Gdy ten sam program skompilowałem CodeVision i wykonując pracę krokową w AVR Studio nic takiego się nie działo. Gdzie można skierować ew. poszukiwania powodu ? Zaznaczę że chodzi o procedury zawarte w innych plikach niż program główny.
  • Pomocny post
    #2 6075753
    szelus
    Poziom 34  
    Może (np. z powodu źle ustwionych zależności w projekcie) po prostu nie przekompilowało części plików i pracowałeś cały czas na, de facto, "starych" binarkach?

    A może z powodu tego, jak jest kod napisany, optymalizator doszedł do wniosku, że jest on niepotrzebny?

    Gdybać można... Najlepiej pokaż makefile i podejrzany kod.
  • Pomocny post
    #3 6075754
    Konto nie istnieje
    Konto nie istnieje  
  • #4 6075836
    rpal
    Poziom 27  
    Dziekuję za popdpowiedzi, chwilami mam wrażenie że ACR GCC żyje własnym życiem. Pozwolę sobie niezgodzić się kol.Albertem odnośnie tego linkowania. Po to jest linker aby wybrac z bibliotek to co jest potrzebne a nie brać hurtem jak leci. PZDR
  • #5 6076009
    Konto nie istnieje
    Konto nie istnieje  
  • #6 6076060
    szelus
    Poziom 34  
    To nie do końca tak.
    Linker jak najbardziej rozróżnia pomiędzy bibliotekami, a jawnie wyspecyfikowanymi plikami półskompilowanymi (przypomniałem sobie starą nazwę, heh... ;)). Te ostatnie dołącza bezwarunkowo; z bibliotek wybiera tylko te moduły, do których występują odwołania w dotychczas dołączonym kodzie (dlatego kolejność specyfikowania argumentów dla linkera ma znaczenie).
  • #7 6076103
    Konto nie istnieje
    Konto nie istnieje  
  • #8 6076183
    rpal
    Poziom 27  
    Opcje kompilacji były zbyt "ostre" :) PZDR
REKLAMA