Derleme
Önceki Linux ile Sembolik Makina Dili Kullanımı Sonraki
Derleme
Sembolik Makina Dili yazılımlarını derlemek normal C programlarını derlemeye çok benzer. Eğer yazılımınız "Liste 1"deki gibi ise normal bir C programı gibi derleyebilirsiniz. Eğer main yerine _start kullanmışsanız, "Liste 2"deki gibi, derleme işlemi birazcık değişecektir:
Tablo 9.2.
Liste 1Liste 2
$ cat write.s
.data
hw:
  .string "hello world\n"
.text
.globl main
main:
  movl $SYS_write,%eax
  movl $1,%ebx
  movl $hw,%ecx
  movl $12,%edx
  int  $0x80
  movl $SYS_exit,%eax
  xorl %ebx,%ebx
  int  $0x80
  ret
$ gcc -o write write.s
$ wc -c ./write
  4790 ./write
$ strip ./write
$ wc -c ./write
  2556 ./write
$ cat write.s
.data
hw:
  .string "hello world\n"
.text
.globl _start
_start:
  movl $SYS_write,%eax
  movl $1,%ebx
  movl $hw,%ecx
  movl $12,%edx
  int  $0x80
  movl $SYS_exit,%eax
  xorl %ebx,%ebx
  int $0x80

$ gcc -c write.s
$ ld -s -o write write.o
$ wc -c ./write
  408./write
-s parametresi isteğe bağlıdır ve sadece boyutu kısaltılmış çalışabilir bir ELF dosyası yaratır. Ayrıca bu yöntem (Liste 2'deki),derleyicinin, normalde olduğu gibi, fazladan giriş ve çıkış deyimleri eklemediği için, daha küçük çalışabilir dosyalar üretir.
Önceki Üst Ana Başlık Sonraki
GCC Satıriçi Sembolik Makina Dili Başlangıç Bağlantılar
Bir Linux Kitaplığı Sayfası