“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 EC0B6!C&7
}No #_{
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 R+0gn/a[ G
fa,:d8
以下是用不同语言写成的Hello World程序的几个例子: ,/GFD[SQ
Ada Te~jYkCd
with Ada.Text_Io; use Ada.Text_Io; rir,|y,
procedure Hello is jD"nEp-
begin xzOvc<u
Put_Line ("Hello, world!"); )m3emMO2
end Hello; WRkuPj2
A^6z.MdYZ
BTj1C
汇编语言 ?lgE9I]
xzA!,75@U
x86 CPU,DOS,TASM Oi& 9FS
MODEL SMALL R[6R)#o
IDEAL G~.VW48{n
STACK 100H K3h];F!^
K$D+TI)
DATASEG [tSv{
HW DB 'Hello, world!$' rA8NE>
[.Md_
CODESEG m*HUT V
MOV AX, @data zVtTv-DU
MOV DS, AX T,a{mi.hNR
MOV DX, OFFSET HW )'g4Ty
MOV AH, 09H 2?Ryk`2i)
INT 21H bA Yp }
MOV AX, 4C00H g8&& W_BI
INT 21H G7,v:dlK
END )BI%cD
}j1;0 kb?
? eI)m
x86 CPU,GNU/Linux,NASM ~2XGw9`J2
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). |B$JX'_
;Enter this into "hello.asm" then type: `FNU-
I4s
;"nasm -f elf hello.asm" QD^= ;!
;"ld hello.o -o hello" G@~e:v)
;"./hello" Z ]ZUK
GmJ
\3]{PZ
section .data ;data section declaration f>mEX='w
msg db 'Hello World!',0AH 2uY:p=DxG9
len equ $-msg ;string length ASMItT
X"g,QqDD
section .text ;code section declaration H&F2[ j$T
global _start ;entry point (start of execution) j!Ys/D
_start: mov edx,len ;string length *kF/yN
mov ecx,msg ;string start .3Smqwm=Y
mov ebx,1 ;file handle: stdout ;UX9Em
mov eax,4 ;sys_write TQ/#
int 80h ;kernel system call #q0xlF@
iK'A m.o+
mov ebx,0 ;return value rc%*g3ryLG
mov eax,1 ;sys_exit 6OPNP0@r
int 80h ;kernel system call lu.xv6+
[tt_>O
Of-gG~
x86 CPU,Windows,MASM32 V)`Q0}
.386 T_)+l)
.model flat,stdcall \4 t;{_
option casemap:none c-@EHv
;Include 文件定义 pAN$c"
include windows.inc I]m&h!
include user32.inc /dX,]OFm
includelib user32.lib Ja\B%f
include kernel32.inc .fhfO @
includelib kernel32.lib +`m0i1uI3
;数据段 u |$GOSD
.data !a'{gw
szCaption db 'A MessageBox!',0 \4*i;a.kU
szText db 'Hello,world!',0 ke +\Z>BWN
;代码段 K~5(j{Kb8
.code ,0>_(5
start: X)[QEq^
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK ;%u)~3B$JK
invoke ExitProcess,NULL dwzk+@]8
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> V+*1?5w
end start kwt;pxp i
?0s&Kz4B
SnO,-Rg
AWK GCcSI;w
BEGIN { print "Hello, world!" } J/ vcP
EJaO"9
(
Gn10)Uf8X
BASIC A#79$[>w
传统版BASIC(例如GWBASIC): N *n?hN
aMJ9U)wnK
10 PRINT "Hello, world!" bV@5B#] 2R
20 END 2fUz}w (
oX/#Mct{s
或在提示符输入: ju"j?2+F
\WVY@eB
?"Hello, world!":END ! -gOqo
0R,Y[).U
现代版BASIC(例如Quick BASIC): sD<8-n
}
/Iw]!lK2
Print "Hello, world!" mP)im]H
o`ODz[04
以下的语句在Quick BASIC中同样有效:
bqR0./V
y=}a55:qE
? "Hello,world!" mO\=#Q>
a>nV!b\n5
r3Ih]|FK#
BCPL ve=1y)
GET "LIBHDR" {y:+rh&
!{oP'8Ax$
LET START () BE rk?G[C)2c
$( !P _'n
WRITES ("Hello, world!*N") <{1 3Nd'o
$) n] n3/wpO
Yg`z4U'6~
iJu$&