Skocz do zawartości

[C++] Assembler w dev-c++


Rzeźnik

Polecane posty

Assembler jest reperezentacja kodu maszynowego w postaci zrozumialej dla bialkowcow. Wiec defacto assembler i kod maszynowy jak dla mnie nie roznia sie za bardzo.

 

1) Sciagnij sobie dissasembler i podlub w exe

2) w trybie debug chyba da sie podgladnac assma (na 100% w delphi i VS, w innych edytorach nie wiem)

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Powiedz ty mi co rozumiesz przez pojecie kompilator ?

Bo ja rozumiem program do ktorego wrzucasz plik *.cpp a on wyrzuca *.obj

wydaje mi sie ze nie ma ale moze gcc ma jakas tajna opcje (switch) ktory wyrzuca listing w asmie. Nigdy nie szukalem.

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

tak w ogóle to mi chodzi o zadanie w thinking in c++.

"dowiedz się w jaki sposób wygenerować na wyjściu kompilatora c i c++ program w assemblerze. Napisz w języku c funkcje a w języku c++ strukture zawierającą jedną funkcję składową. Dla każdego z tych plików wygeneruj program w języku assemblera. W utworzonych plikach poszukaj nazw utworzonych dla funkcji w języku c i funkcji składowej w c++ aby zobaczyć, jak nazwy te zostały uzupełnione przez kompilator"

Nie wiem o co za bardzo w tym chodzi :( bądźcie wyrozumiali :)

Link do komentarza
Udostępnij na innych stronach

http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gc...Overall-Options

 

-S

Stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified.

 

By default, the assembler file name for a source file is made by replacing the suffix `.c', `.i', etc., with `.s'.

 

Input files that don't require compilation are ignored.

Down With The Sickness :)

Link do komentarza
Udostępnij na innych stronach

masz plik c++

 


void main(nie pamietam co tu jest w main)
{
 cout<<"cos tam";
}

 

zapisujesz to do pliku moj.cpp

wchodzisz na sciezke gdzie jest ten plik i piszesz (jesli firen nie klamal) mniej wiecej cos takiego:

 

gcc -s moj.cpp

 

powinien ci sie pojawic plik moj.s z kodem w asmie.

Pisze z glowy gdyz nie mam kompilatora gcc na kompie wiec pewnie bedziesz musial cos sam pokombinowac z tym albo napisze ci ktos kto ma gcc. Ogolna idee ci przedstawilem.

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Nie wiem czy robie to źle ale mi to nie działa :( po pierwsze to trzeba to wpisać w narzędzia\opcje kompilatora\dodaj te polecenia do wiersza poleceń kompilatora?

Bo jak nie to się załamię.

 

Kolego, kliknij w Start->Uruchom...

 

i w okienku wpisz: C:\Dev-C++\Bin\gcc -S C:\Dev-C++\Bin\moj.cpp

 

tylko ustaw swoje ścieżki dostępu do pliku gcc.exe oraz moj.cpp

 

i kliknij w OK. Koniec

 

Pozdrawiam!

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Gość
Temat jest zablokowany i nie można w nim pisać.
×
×
  • Utwórz nowe...