mangado Opublikowano 9 Września 2009 Zgłoś Opublikowano 9 Września 2009 Mam takiego problema. (DJGPP) Pisze sobie OS-a (fasm) i on tam sobie udaje, że działa. Ale zachciało mi się pisać do niego programiki w c i c++. Jak mam programik w pure C to jest ok i działa! Niestety gdy pojawi się tam obiekt lub struktura to linker krzyczy: undefined reference to '___gxx_personality_v0' programik kompilowany jest do formatu binary. Nie pomogło użycie g++ itp. nie uzylem makefile tylko *.bat-a wygląda tak: gxx -x c++ main.cpp -O2 -fomit-frame-pointer -c -o main.o gxx -x c++ rys.cpp -O2 -fomit-frame-pointer -c -o rys.old -Tprg3.ld -o prg3.bin main.o rys.o A plik prg3.ld wygląda tak: OUTPUT_FORMAT("binary")ENTRY("_main") pliki main.o i rys.o powstały ale linker się zbuntował Co prawda udało się to skompilować w ten sposób: gxx main.cpp -fomit-frame-pointer -c -o prg3.bin Ale ten programik był bardzo rozbiegany po pamięci Mój OSesek dla procesów organizuje pamięć tak: 0-0xC0000000 - przestrzen adresowa dla procesu 0xBFFFE000 (i w dół) - stos powyżej 0xC0000000 (3GiB), kod systemu A ten programik, skompilowany metodą 2-gą próbuje, i to na samym początku odwołać sie pod adres powyżej 3GiB... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...