MASM z GCC

0

Witam,

Zamierzam połączyć program napisany w asemblerze z kodem w języku C.

Wie ktoś może jakich flag muszę użyć w asemblerze MASM, żeby zbudować plik obiektowy, który będę mógł połączyć z kodem w języku c (używając linkera GCC)? Bo zdaje się MASM domyślnie tworzy plik obiektowy o rozszerzeniu .OBJ, a GCC wymaga typu .O

0

hmm masm i gcc :| troche bez sensu polaczenie bo ld domyslnie nie linkuje chyba plikow z masma, lepiej uzyj nasma ktory jest znacznie bardziej kompatybilny

0

hmmmm ja łączyłem kod asemblerowy z kodem C++ pod Visual Studio.Pokrótce odbywa się do w ten sposób,że skompilowany MASMem plik .obj dołączasz do projektu plików źródłowych,a w module C uzywasz extern-a;
działa to cacy ;)

0

narzędzia GNU operują na formacie COFF, natomiast MASM na M$ COFF. Niby różnic sporych nie ma, ale np. przy generowaniu relokacji mogą się pojawić problemy. Jeżeli juz pisać w składni intela dla gcc to albo dać odpowiedni przełącznik dla GASa albo pisać pod FASMem /generuje zależnie od podanego w kodzie formatu pilki obu formatów COFF oraz binarne i wykowywalne - bez linkera/.

1 użytkowników online, w tym zalogowanych: 0, gości: 1