Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : yx                                   2:5020/400     21 Mar 2001  19:07:58
 To : All
 Subject : minimalism linux/i386
 -------------------------------------------------------------------------------- 
 
 Oleg.Polianski@clear.co.nz wrote:
 
 >>>  угу. а crt0.o и сколько за собой тащит не считали? от 3 до 8 кб, в
 >>>  зависимости от юникса.
 >>
 >> под Win32, и я _не_верю_, что это так уж сложно сделать в *IX.
 > 
 > затем, что именно в нём находится точка входа в ваше программу на языке C
 > (crt0 - это C Run Time, не забывайте) - _main, а также start (или _start).
 > без crt0.o вы не сможете создать программы на языке *C* - это будет что
 > угодно, но только не программа на языке C.
 > 
 
  минимализм linux/i386.
 
  непосредственно си (280 байт):
 
 % cat > hello_c.c
 
 #define MESG  "Hello, World!\n"
 #define MESG_SZ   sizeof(MESG)
 
 void main() {
  write(1,MESG,MESG_SZ);
 }
 ^D
 
 % bcc -N -3 -s -o hello_c hello_c.c && ./hello_c
 Hello, World!
 
 % file hello_c
 hello_c: Linux/i386 impure executable (OMAGIC), stripped 
 
 % ls -l hello_c
 -rwxr-xr-x    1 yx       users         280 Mar 21 16:02 hello_c
 
 % size hello_c
    text    data     bss     dec     hex filename
     196      52       4     252      fc hello_c
 
  т.е. все равно много лишнего.
  тогда дальше:
 
  непосредственно asm (80 байт):
 
 % cat > hello_s.s
 
 use32
 entry  start
 .text
 start:
    mov eax, *4
    mov ebx, *1
    mov ecx, #mesg
    mov edx, *0xf
    int 0x80
    mov eax, *1
    xor ebx, ebx
    int 0x80
 mesg:
   .ascii  "Hello, World!"
   .byte   0xa, 0
 end
 ^D
 
 % as86 -o hello_s.o hello_s.s
 
 % ld86 -s -N -o hello_s hello_s.o && ./hello_s
 Hello, World!
 
 % file hello_s
 hello_s: Linux/i386 impure executable (OMAGIC), stripped
 
 % ls -l hello_s
 -rwxr-xr-x    1 yx       users          80 Mar 21 16:08 hello_s
 
 % size hello_s
    text    data     bss     dec     hex filename
      48       0       0      48      30 hello_s
 
  почти ничего лишнего (кроме 32-x байтного заголовка,)).
 
  итого "Hello, World!":
   с (+crt,+libc)  280 байт
   asm      80 байт
 
 bye.
 
 -- 
 Vladimir Yakovetsky
 --- ifmail v.2.15dev5
  * Origin: Disorganized yx's groupie (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 FreeBSD size of C prg: Hello,World   Sergey Korshunoff   11 Mar 2001 11:13:44 
 Re: FreeBSD size of C prg: Hello,World   Eugene Grosbein   12 Mar 2001 13:31:14 
 FreeBSD size of C prg: Hello,World   Vadim Mikhailov   11 Mar 2001 23:41:36 
 FreeBSD size of C prg: Hello,World   Anton Eremeev   13 Mar 2001 03:35:00 
 Re: FreeBSD size of C prg: Hello,World   Vladimir Bormotov   13 Mar 2001 21:16:56 
 FreeBSD size of C prg: Hello,World   Fyodor Ustinov   17 Mar 2001 20:16:48 
 FreeBSD size of C prg: Hello,World   Vadim Mikhailov   17 Mar 2001 22:11:32 
 FreeBSD size of C prg: Hello,World   Fyodor Ustinov   18 Mar 2001 13:41:05 
 Re: FreeBSD size of C prg: Hello,World   Valentin Nechayev   19 Mar 2001 01:41:34 
 FreeBSD size of C prg: Hello,World   Fyodor Ustinov   19 Mar 2001 11:04:23 
 FreeBSD size of C prg: Hello,World   Anton Eremeev   25 Mar 2001 04:15:00 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   26 Mar 2001 02:27:41 
 FreeBSD size of C prg: Hello,World   Andrey Melnikov   26 Mar 2001 12:03:16 
 FreeBSD size of C prg: Hello,World   Anton Eremeev   26 Mar 2001 18:30:00 
 Re: FreeBSD size of C prg: Hello,World   Valentin Nechayev   27 Mar 2001 16:42:04 
 FreeBSD size of C prg: Hello,World   Anton Eremeev   28 Mar 2001 22:54:36 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   30 Mar 2001 01:59:56 
 студент на экзамене....   Dima_Marchenko   30 Mar 2001 18:32:37 
 CALL FAR в DOS и не только   Anton Eremeev   31 Mar 2001 03:16:22 
 Re: CALL FAR в DOS и не только   Valentin Davydov   31 Mar 2001 12:58:11 
 Re: FreeBSD size of C prg: Hello,World   Mr Alex V Eustrop   12 Mar 2001 17:12:47 
 FreeBSD size of C prg: Hello,World   Juriy Goloveshkin   13 Mar 2001 18:12:58 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   13 Mar 2001 10:26:05 
 Re: FreeBSD size of C prg: Hello,World   Valentin Nechayev   13 Mar 2001 10:56:57 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   14 Mar 2001 00:54:03 
 FreeBSD size of C prg: Hello,World   Lev Serebryakov   13 Mar 2001 13:06:20 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   14 Mar 2001 00:56:05 
 FreeBSD size of C prg: Hello,World   Lev Serebryakov   14 Mar 2001 11:44:56 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   15 Mar 2001 04:25:16 
 FreeBSD size of C prg: Hello,World   Lev Serebryakov   15 Mar 2001 12:17:09 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   16 Mar 2001 01:38:05 
 Re: FreeBSD size of C prg: Hello,World   yx   19 Mar 2001 13:06:31 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   20 Mar 2001 04:10:59 
 Re: FreeBSD size of C prg: Hello,World   yx   20 Mar 2001 05:57:34 
 Re: FreeBSD size of C prg: Hello,World   Oleg.Polianski@clear.co.nz   20 Mar 2001 07:14:05 
 Re: FreeBSD size of C prg: Hello,World   yx   20 Mar 2001 08:42:46 
 FreeBSD size of C prg: Hello,World   Sergey Korshunoff   16 Mar 2001 11:46:45 
 Re: FreeBSD size of C prg: Hello,World   Dmitry Fedorov   18 Mar 2001 17:03:30 
 FreeBSD size of C prg: Hello,World   Sergey Korshunoff   20 Mar 2001 11:02:27 
 minimalism linux/i386   yx   21 Mar 2001 19:07:58 
 Re: FreeBSD size of C prg: Hello,World   Jilkin Yuri   14 Mar 2001 17:43:17 
 Re: FreeBSD size of C prg: Hello,World   yx   14 Mar 2001 23:52:19 
Архивное /ru.unix/13401f85b5b7e.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional