“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 y\Z7]LHCqw
Q4Mp[
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 &1:xY.Zs_
:)+|q
以下是用不同语言写成的Hello World程序的几个例子: ^9eJ)12pK
Ada CuPZ0
with Ada.Text_Io; use Ada.Text_Io; 9;u$a^R.
procedure Hello is $b;9oST
begin }p0|.Qu 9
Put_Line ("Hello, world!"); ]}R\[F (_%
end Hello; 50Z$3T
= >)S\Dfi
a4FvQH#j
汇编语言 kS[xwbE
.63:G<
x86 CPU,DOS,TASM 5haJPWG|'
MODEL SMALL C|c'V-f
IDEAL d^X;XVAvP
STACK 100H UJ1Ui'a(!!
D0,U2d
DATASEG hVRpk0IJDK
HW DB 'Hello, world!$' v\ggFrG]
RKaCX:
CODESEG '7Dg+a^x7
MOV AX, @data P?*$Wf,~n
MOV DS, AX epi{Ayb
MOV DX, OFFSET HW *M;!{)m?
MOV AH, 09H @giipF2$
INT 21H %'Ebm
MOV AX, 4C00H BY"<90kBL
INT 21H :0ZFbIy
END uArs[e|f
|4BS\fx~N
W:8_S%~d
x86 CPU,GNU/Linux,NASM W0eb9g`s
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). ~}|)@,N'bm
;Enter this into "hello.asm" then type: $6 \v1
;"nasm -f elf hello.asm" zDY!0QZLF\
;"ld hello.o -o hello" cYyv
iR59#
;"./hello" aS?A3h4WM_
+`l>_u'
section .data ;data section declaration )r-t$ L
msg db 'Hello World!',0AH uiDK&@RS
len equ $-msg ;string length %"V Y)
pZz?c/h-
section .text ;code section declaration t_c;4iE
global _start ;entry point (start of execution) Qjh5m5e
_start: mov edx,len ;string length 8D[P*?O
mov ecx,msg ;string start &;5QB
mov ebx,1 ;file handle: stdout iZGc'y
mov eax,4 ;sys_write D]v=/43
int 80h ;kernel system call }s{RW<A
OOS(YP@b
mov ebx,0 ;return value tsR\cO~/
mov eax,1 ;sys_exit F>E'/r*
int 80h ;kernel system call jgbUZP4J>
qsn6i%VH
,tv
P"@d
x86 CPU,Windows,MASM32 fk,[`n+
.386
.BJ;}
.model flat,stdcall ac6Lv}w_
option casemap:none Y~( #_K
;Include 文件定义 U'@eUY(Ov$
include windows.inc k$?zh$
include user32.inc 8r(S=dA
includelib user32.lib c?5e| dZz
include kernel32.inc L=ZKY
includelib kernel32.lib K.G}*uy
;数据段 4FEOV,n
.data IQxY]0\uf6
szCaption db 'A MessageBox!',0 %M^X>S\%
szText db 'Hello,world!',0 #DpDmMP9R3
;代码段 Qy`{y?T2
.code +CtsD9PA
start: .%;UP7g
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK K5No6dsD
invoke ExitProcess,NULL /10 I}3D
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \Fj$^I>C
end start k!Nl#.j
hu.c&Q>
c*$&MCh
AWK ,2S w6u
BEGIN { print "Hello, world!" } SDpaW6(_
1?sR1du,
hK*:pf
BASIC B;?)
传统版BASIC(例如GWBASIC): O0Y/y2d
E$] 7w4,n
10 PRINT "Hello, world!" ?it49
20 END <<