FreeBASIC マニュアルのトップに戻る

FreeBASIC Quine

目次→フォーラム→FreeBASIC→補足FB Quine←オリジナル・サイト

FB Quine 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

 Quine(クワイン)とは、自身のソースコードと完全に同じ文字列を出力するプログラムのことです。
ウィキペディア:クワイン (プログラミング)

Juiced ≫ Feb 24, 2012 7:14

Dim As Integer i
Dim As String q=Chr(34),c(2)={Chr(44)+Chr(95),Chr(125)},Array(11)={_
"dim as integer i",_
"dim as string q=chr(34),c(2)={chr(44)+chr(95),chr(125)},Array(11)={_",_
"for i=0 to 1",_
"    print Array(i)",_
"next i",_
"for i=0 to 10",_
"   print q+Array(i)+q+c(iif(i=10,1,0))",_
"next i",_
"for i=2 to 10",_
"   print Array(i)",_
"next i"}
For i=0 To 1
    Print Array(i)
Next i
For i=0 To 10
    Print q+Array(i)+q+c(IIf(i=10,1,0))
Next i
For i=2 To 10
    Print Array(i)
Next i
Sleep

TJF ≫ Feb 24, 2012 9:54
このプログラムは、'Quine.bas' という名前で保存して実行して下さい。

Dim code As ZString Ptr
Dim code_len As UInteger
Asm .section .data
Asm .LT_START_OF_FILE_code:
Asm __code__start = .
Asm .incbin "Quine.bas"
Asm __code__len = . - __code__start
Asm .section .text
Asm mov dword Ptr [code], offset .LT_START_OF_FILE_code
Asm mov dword Ptr [code_len], offset __code__len
?Left(*code, code_len)
Sleep

TJF ≫ Feb 24, 2012 11:47
上のラベルを外したものです。
このプログラムは、'Quine2.bas' という名前で保存して実行して下さい。

Dim As ZString Ptr code
Dim As UInteger code_len
Asm .section .data
Asm __code__start = .
Asm .incbin "Quine2.bas"
Asm __code__len = . - __code__start
Asm .section .text
Asm mov dword Ptr [code], offset __code__start
Asm mov dword Ptr [code_len], offset __code__len
?Left(*code, code_len)
Sleep
 
補足 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2012-02-24
日本語翻訳:WATANABE Makoto、原文著作者:Juiced、TJF

ホームページのトップに戻る

表示-非営利-継承