Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet lefordítani egy...

Hogyan lehet lefordítani egy c++ forráskódot assembly-be a gcc segítségével?

Figyelt kérdés

A kérdés adott, csak azt kérném, hogy részletesebben írjátok le mert ezt a részét nem igazán vágom. Próbálkoztam a fordítással de mindig vmi hibát írt ki. Ha leírjátok akkor úgy írjátok le, hogy pontosan mien fájtl kell létrehozni, benne a c++ kóddal és pontosan mit kell beírni a fordítónak, hogy lefordítsa, majd egy külön állományba vagy végülis nekem mindegy csak valahova mentse el az Assembly kódot is külön vagy ha ez macerásabb akkor egybe is jó, úgyis úgy kell leadni.


Köszönöm!


2011. dec. 4. 11:55
 1/6 anonim ***** válasza:

Ha a c++ forráskód forras.cpp akkor

gcc -O2 -S -c forras.cpp

forras.s nevű fájlba írja a lefordított kódot.

A forras.cpp ansi/ascii windows-os vagy linux-os text fájl legyen.

A fájl kiterjesztése nem .c hanem .cpp vagy .cxx legyen.

2011. dec. 4. 12:46
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Mindjárt megpróbálom.
2011. dec. 4. 13:06
 3/6 A kérdező kommentje:

.file "forras.cxx" Ennyit fordít le belőle -.-"


Ha neked máküdik akkor úgy nem lenne jó ha lefordítot és elküldöd nekem e-mailben? Vagy itt nekem mindegy.


A C++ program:


#include <iostream>

using namespace std;

int main()

{

int a , y , i ;

cout << "Iron be egy szamot: ";

cin >> a;


y=0;

for(i=1;i<=a;i++)

{

if(a%i==0) y++;

}



if (y==2) cout << "Ez a szam egy primszam\n" ;

if((y<2) || (y>2)) cout << "Ez a szam nem primszam\n" ;

system("pause");

return 0;

}

2011. dec. 4. 13:11
 4/6 anonim ***** válasza:

".file "forras.cxx" Ennyit fordít le belőle -.-"

Ezt a mondatot nem értem.

Lefordítottam .cpp és .cxx kiterjesztéssel is.

A különbség az assembly kódban csak az 1.sorban van.


[link]

[link]

2011. dec. 4. 13:20
Hasznos számodra ez a válasz?
 5/6 A kérdező kommentje:
Hát a forras.s fájlba nekem csak ezt rakta bele, mert vmi include hibaüzenetet ír ki. vagy nem tudom :S
2011. dec. 4. 13:24
 6/6 anonim ***** válasza:

Ja hát bmeg, ha le se fordul akkor nyílván assemblyt sem tud belőle előállítani.

Szóval előszor forduljon az a fos, utána mentheted el a közbülső asm kódot.


Amúgy lehet, hogy az a gond, hogy gcc-vel akarsz fordítani, nem g++-al, nüansznyi különbségek vannak, a g++ beállít néhány dolgot, például a c++ standard könyvtár elérését, ami a te "valami inklúd hibád" miatt gyanús, hogy ez a hiba.

2011. dec. 5. 11:42
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!