Keresés

Új hozzászólás Aktív témák

  • proci985

    MODERÁTOR

    LOGOUT blog

    válasz Jhonny06 #1266 üzenetére

    elvileg fel kéne ajánlania a compilernek, hogy ha lát változást, akkor újra kell építenie.

    ez az elmélet. a gyakorlat az, hogy unix környezetben (minix 3.1) már láttam olyat, hogy órákat szívtunk, mire észrevettük, hogy a C compiler nem lát egy változtatást és ezért még mindig a két órával előtti kernellel szívunk.

    rebuild kell, ha azt nem csinálod, akkor nem fog fordítani. esetleg ha nagyon nem megy, akkor lehet rá nyomni egy clear+rebuildet, de azzal projekt méretének függvényében nagyon óvatosnak kell lenni.

    én debug módban szoktam (jelenlegi beadásnál csináltam automatizált tesztet assert is, azt meg release módban elvileg nem is futtatja), rebuildelni meg akkor, ha outdatednek írja. ill néha clear+rebuild, ha valami nagyon nem stimmel.

    [ Szerkesztve ]

    Don't dream it, be it. // Lagom amount.

  • WonderCSabo

    félisten

    válasz Jhonny06 #1266 üzenetére

    Én Code::Blocks-ot használok. Ha a Run-ra kattintok, nem érdekli volt-e változás, az utolsó fordított binárist futtatja (már ha van, ha még nincs, akkor fordíttat veled). Ezért mindig Build and Run parancsot adok ki. Persze ez a Build parancs csak a megváltozott fordítási egységeket fordítja újra, és linkeli a programot. A teljes újrafordítás a Rebuild. Olyan még nem fordult elő, hogy a Build nem vette észre, hogy volt változás.

    Más:

    Ha meg kell akadályoznom a programom automatikus bezárását, mindig cin.get()-et, vagy getchar()-t használok. Legalábbis Windowson. Most valgrind miatt Linuxon forgattam, és meglepően tapasztaltam, hogy legújabb GCC-vel Ubuntuval az előbbi hívásokat simán ignorálja és terminál a program. Tapasztalt ilyet vki? Ha igen, milyen alternatívák vannak, amik Linuxon is műxenek?

Új hozzászólás Aktív témák