http://www.pronix.de -> Forum -> Knobelecke

Forum: Knobelecke

Moderatoren: broesel, juergen

Thema: Ausgabe des eigenen Quelltexts

Ausgabe des eigenen Quelltexts

jengelh am 22.07.2004 um 21:03

Zitat:

jengelh's Lösungen sind zwar teilweise interessant, erfüllen aber nicht die Aufgabenstellung (seinen eigenen Quelltext ohne das Öffnen von Dateien auszugeben).

Nun ja, sein eigenes Code-Segment (was ja in gewissen Sachen auch den Quelltext darstellt) ist ja kein Öffnen von Dateien, insbesondere wenn:


.intel_syntax noprefix;

.L_LC0: .string "push ebp;\n"

.global main;
    .type main, @function;
main:
    push ebp;
    mov ebp, esp;

    mov eax, main;
    cmp al, 0x55;
    jne .L1;

// {
    push offset flat:.L_LC0;
    call printf;
    add esp, 8;

// } und noch ne While-Schleife drum, etc.

.L1:
    leave;
    ret;


So in etwa Grafik: Smilie Lachend Also ein Disassembler, der sich selbst disassemlet! Führt es selbst aus:


$ objdump -D `which objdump`

(Öffnet zwar die Datei, aber man könnte auch direkt seine eigenen Segmente auslesen, s.o. codebeispiel)
 

Ausgabe des eigenen Quelltexts

DanEE am 02.08.2004 um 20:18

Zitat:
Gesucht ist ein C-Programm, dass seinen eigenen Quelltext ausgibt.


Kleine Verständnisfrage: ist mit Quelltext der C-Sourcecode oder das Kompilat gemeint?
Ich gehe mal von letzterem aus, dann habe ich aber das Problem, das dieser Text imo kaum human-readable ist...
 

Ausgabe des eigenen Quelltexts

Anonym am 02.08.2004 um 22:01

Zitat:
ist mit Quelltext der C-Sourcecode oder das Kompilat gemeint?


der C-Source.

Gruss
Philip
 

Ausgabe des eigenen Quelltexts

broesel (webmaster) am 04.08.2004 um 12:11

das kürzeste Quine der Welt ist übrigens 0 Bytes groß:


        # touch quine.c
        # cp quine.c quine
        # chmod u+x quine
        # ./quine


;)

Gruss
Philip

--
The C Programming Quiz (externer link) - bitte Fragen einreichen :)