“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 Q>Rjv.1
4RCD<7
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 ' NyIy:
p|!5G&O,
以下是用不同语言写成的Hello World程序的几个例子: e&WlJ
Ada ]v&)mK]n=o
with Ada.Text_Io; use Ada.Text_Io; e P]L
procedure Hello is 1p&e:v
begin ]hNio6CVm
Put_Line ("Hello, world!"); (}ObX!,
end Hello; %5#ts/f
<d89eV+
+XV7W=
汇编语言 to-DXT.
L?_'OwaY
x86 CPU,DOS,TASM iI T7pq1
MODEL SMALL ~6YTm6o
IDEAL m'{gO9V
STACK 100H .SZ ZT0Z
E,u/^V9x
DATASEG H_w&_h&
HW DB 'Hello, world!$' /-%0y2"7
D d['e
CODESEG $gZC"~BR
MOV AX, @data qiEw[3Za]'
MOV DS, AX .g/PWEr\I
MOV DX, OFFSET HW 8@b,>l$
MOV AH, 09H |^l17veA@
INT 21H n
hT%_se4
MOV AX, 4C00H mhh^kwW
INT 21H P/%5J3_,
END yN-o?[o
X5[.X()M4
2F5*C
x86 CPU,GNU/Linux,NASM %?<Y&t
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). D,R"P }G
;Enter this into "hello.asm" then type: >3aB{[[N
;"nasm -f elf hello.asm" imb.CYS74
;"ld hello.o -o hello" okwkMd-yW
;"./hello" i'bviD
K
qK?w*Qw
section .data ;data section declaration @fz0-vT,
msg db 'Hello World!',0AH 7 ) Q>R
len equ $-msg ;string length :Vdo.uUa
% YgGw:wZ
section .text ;code section declaration :pz`bFJk
global _start ;entry point (start of execution) N{b;kiZq
_start: mov edx,len ;string length M3m)ui z
mov ecx,msg ;string start b}&2j3-n,
mov ebx,1 ;file handle: stdout UdGa#rcNW
mov eax,4 ;sys_write 0eJqDCmH
int 80h ;kernel system call "~V|p3
w?eJVi@w{
mov ebx,0 ;return value eMT}"u8$A
mov eax,1 ;sys_exit JSp V2c5Q
int 80h ;kernel system call 4Nylc.2mi
6KH&-ffd
lftT55Tki
x86 CPU,Windows,MASM32 z5njblUz
.386 KOv?p@d
.model flat,stdcall @wVq%GG}
option casemap:none P5?M"j0/^
;Include 文件定义 qoZUX3{
include windows.inc 6h5DvSO
include user32.inc 5vP=Wf cW
includelib user32.lib d ,"L8
include kernel32.inc F7!q18ew
includelib kernel32.lib fx74h{3u
;数据段 c]Z@L~WW
.data 4Su|aWL-
szCaption db 'A MessageBox!',0 KU;d[Z@g
szText db 'Hello,world!',0 s?j ||
;代码段 N6R0$Br
.code itU
P%
start: y [jck:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK !3*:6
invoke ExitProcess,NULL }c]u'a!4
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> pnTuYT^%)
end start ?z{Z!Bt?=)
e&k=fV
=6YffXa_s
AWK w *Txc}
BEGIN { print "Hello, world!" } .\rJ|HpZ1J
|'+ [ '
x<=<Lx0B;
BASIC Lb=4\ _
传统版BASIC(例如GWBASIC): @Jh;YDr`A
]DJ]L=T7
10 PRINT "Hello, world!" WHk rd8
20 END w~a_FGYX
iJaA&z5sr
或在提示符输入: PSB@yV <
=@\Li)Y
?"Hello, world!":END nqv#?>Z^OT
h0c&}kM
现代版BASIC(例如Quick BASIC): fU^6h`t
`mp3ORR;$
Print "Hello, world!" Y I?4e7Z+
0}4FwcCr\
以下的语句在Quick BASIC中同样有效: 8GKqPS+
2EAY`}Rl6.
? "Hello,world!" K0 6 E:
IpYw<2'
z~0f[As.
BCPL <