-
Data: 2011-11-04 16:58:46
Temat: Re: fajny assembler
Od: " " <f...@N...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Bogdan (bogdro) <b...@p...gazeta.pl> napisał(a):
> W dniu 04.11.2011 09:25, f...@N...gazeta.pl pisze:
> > <f...@N...gazeta.pl> napisał(a):
> >
> >>
> >>> Fatal: 'fir.asm': Additional segments need to be defined in a .def file
> >>> :(
> >>
> > cholerstwo.. chyba zaczynam troche rozumiec o co chodzi, ale
> > nie za bardzo - PE i exe w ramie maja wydzielone sekcje (nie
> > jestem pewien czy w jezyku linkera to samo nie nazywa wlasnie
> > 'segment'),, oddzielnie linkowane moduly ((slowa modul uzywa
> > linker do oznaczenia mw tego samego co ja czyli pliku .obj ))
> > oddzielnie linkowane moduly mozna chyba z tego co rozumiem
> > zlinkowac tak zeby sekcje data z main_in_c.obj i data z
> > asm_routine.obj znalazly sie albo w oddzielnych segmentach
> > (i wtedy nalezy podac linkerowi ew dodatkowe informacje w pliku
> > DEF) albo ew w tym samym segmencie (ew tez moze nalezy coś
> > podac w pliku .DEF), z sekcjami .text nie ma jakos problemu....
> > przygnebia mnie ten problem bo jak tego nie rozwiaze to
> > mi sie nie uda podlaczac te procedury w nasmie - a pouczylbym
> > sie asma (na inny kompilator nie mam checi sie obecnie
> > przesiadac bo to zbyt duza rewolucja w borlandzie czuje sie
> > wygodnie jak w fotelu - jesli mowa o krzeslach)
>
> Tak to właśnie jest, jeśli dobrze pamiętam - jeśli definiujesz własne
> segmenty, to trzeba je dodać do pliku *.def, który był tworzony przez
> kompilator do większości programów (choć do programów w asemblerze,
> bez innych języków, to raczej nie było potrzebne). Ale to było dawno,
> więc mogę się mylić.
> Z .text nie ma takiego problemu, bo sekcja .text jest tylko jedna i
> widocznie nazywa się tak samo lub linker automatycznie ją widzi.
> Myślałem, że Borland nazwie/stworzy sekcję danych tak, że nazwanie
> naszej ".data" sprawi, że będzie działać. Ale skoro nie działa, to
> zrób tak: napisz w C program/plik z jakimikolwiek danymi, wygeneruj
> kompilatorem C pliki asemblerowe (opcja bodajże -s lub -S), zobacz,
> jak w nich nazywa się segment danych i nazwij tak samo ten w pliku z
> kodem asm. Potem skompiluj plik asm i spróbuj ponownie linkować.
> Ja dalej nie podziała, możesz spróbować poszukać w sieci porad
> dotyczących tego błędu (ewentualnie dodając asembler do kryteriów
> wyszukiwania). Ewentualnie wystaw gdzieś w sieci plik asemblerowy
> wygenerowany przez kompilator i podaj adres, to będzie się można
> przyjrzeć.
>
ok, dzieki za odp;
juz mi glowa trzeszczy od tego problemu bo przysiadlem przy
tym ale nic nie moge zdzialac;
wlasnie skonczylem przegladanie wszystkich opcji (bcc32) i
czesci linkera (ilink32) (te opcje linkera sa malo zrozumiale
i wygladaja na molo uzyteczne)
Udalo mi sie zmusic linker do czytania pliku def ale nie
wiem co tam wstawic, cos takiego wytworzonego napredce
LIBRARY FIR.OBJ
CODE
DATA
SEGMENTS
aaaaa CLASS 'DATA'
bbbbb CLASS 'TEXT'
EXPORTS
_asm_routine @1
jest w stanie lyknac bez raportowania bledow skladni w def,
ale linker wywala sie przy tym z komunikatem 'abnormal
termination' (na stronce embarcadero jest opis skladni tego
pliku ale nie jest tam napisane co ja mam tam wstawic)
poprobuje tego co mowisz, co do kodu asma to ostatnio zapoznalem
sie z fajnym programikiem objconv agnera foga - polecam - mozna
tym elegancko 'disaseblnac' sobie dowolnego execa albo dll
do pliku asm ito w skladniech kompatybilnych dla pieciu
assemblerow, np
objconv -fnasm myprog.exe myprog.asm
sprawdzenie typu sekcji nie rpztszlo mi do glowy - sprawdze to
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 05.11.11 13:01
- 05.11.11 16:26 Kicer
- 06.11.11 19:23 identifikator: 20110701
- 06.11.11 22:21 Wiktor S.
- 06.11.11 22:46
- 06.11.11 22:55 Bronek Kozicki
- 07.11.11 00:27
- 07.11.11 08:17 Bronek Kozicki
- 07.11.11 09:48
- 07.11.11 09:06 Piotr M Kuć
- 07.11.11 10:40
- 07.11.11 10:47 MoonWolf
- 07.11.11 10:29 Sławomir Szczyrba
- 07.11.11 10:57 Piotr M Kuć
- 07.11.11 11:57
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=