SORU
17 AĞUSTOS 2009, PAZARTESİ


Okunabilir derleme üretmek için kullanarak GCC?

C kaynak dosyası GCC benim kod derlenmiş olmanın ne olduğunu görebilmem için makine kodu anımsatıcı bir sürüm dökümü nasıl kullanacağını merak ediyordum. Java ile bunu yapabilirsin ama GCC ile bir yol bulmak mümkün olmamıştır.

Mecliste yeniden yazma C bir yöntem bulmaya çalışıyor ve GCC büyük bir yardım olur mu nasıl görüyorum.

CEVAP
17 AĞUSTOS 2009, PAZARTESİ


Hata ayıklama sembolleri ile derlemek, objdump Daha okunabilir bir çözümü üretmek için kullanabilirsiniz.

>objdump --help
[...]
-S, --source             Intermix source code with disassembly
-l, --line-numbers       Include line numbers and filenames in output

< / ^ hr .

Örnek:

> gcc -g -c test.c
> objdump -d -M intel -S test.o

test.o:     file format elf32-i386


Disassembly of section .text:

00000000 <main>:
#include <stdio.h>

int main(void)
{
   0:   55                   	push   ebp
   1:   89 e5                	mov    ebp,esp
   3:   83 e4 f0             	and    esp,0xfffffff0
   6:   83 ec 10             	sub    esp,0x10
    puts("test");
   9:   c7 04 24 00 00 00 00 	mov    DWORD PTR [esp],0x0
  10:   e8 fc ff ff ff       	call   11 <main 0x11>

    return 0;
  15:   b8 00 00 00 00       	mov    eax,0x0
}
  1a:   c9                   	leave  
  1b:   c3                   	ret

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Shanice Caruthers

    Shanice Caru

    27 EKİM 2011
  • Tube Time

    Tube Time

    14 Mayıs 2013
  • VideoGamePervert

    VideoGamePer

    30 AĞUSTOS 2008