“Hello, World!”程序是一个只在计算机屏幕上打印出“Hello, World!”(英语,意为“世界,你好!”)字串的计算机程序。该程序通常是计算机程序设计语言的初学者所要学习编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境以及运行环境已经正确安装。 x8]9Xe:_>O
Dn[iA~
将Hello World程序作为第一个学写的程序,现在已经成为一种传统。该程序最早出现在由Brian Kernighan和Dennis Ritchie写的计算机程序设计教程《C语言程序设计》。 F-^#EkEGe
b&Dc DX
以下是用不同语言写成的Hello World程序的几个例子: {kLL&`ii
Ada ?c vXuxCm
with Ada.Text_Io; use Ada.Text_Io; G1Qc\mp
procedure Hello is uW.)(l
begin k)2L<Lmn
Put_Line ("Hello, world!"); n9J.]+@J
end Hello; I|6wPV?
K22' XrN
KUC (n!
汇编语言 -L9I;]:KY
w3^>{2iqq
x86 CPU,DOS,TASM cVzOW|NVx
MODEL SMALL mSWh'1]b.~
IDEAL &ZjQa.-U>
STACK 100H pg}9baW?
H8>u:
DATASEG a r0y8>]3
HW DB 'Hello, world!$' =h~\nTN
MDfE(cn2q
CODESEG &^HqbLz
MOV AX, @data D4:c)}
MOV DS, AX 4XkSj9D~z
MOV DX, OFFSET HW IC-k
MOV AH, 09H 0NY2Kw;
INT 21H -{
Ng6ntS
MOV AX, 4C00H k^|P8v+"D
INT 21H it2@hZc5
END >L#HE
\O"EK~x}/
E7eOKNVC#
x86 CPU,GNU/Linux,NASM k1A64?p
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax). a95QDz
;Enter this into "hello.asm" then type: QR!8 n
;"nasm -f elf hello.asm" *siN#,5
;"ld hello.o -o hello" 09Sy-
je*/
;"./hello" r?e)2l~C8j
a@&^t( 1
section .data ;data section declaration * /S=9n0
msg db 'Hello World!',0AH =O
qw`jw
len equ $-msg ;string length 1/t}>>,M
J%?'Q{
section .text ;code section declaration @"jV^2oY1
global _start ;entry point (start of execution) $<)k-Cf
_start: mov edx,len ;string length f
IUz%YFn
mov ecx,msg ;string start #,dE)
mov ebx,1 ;file handle: stdout qTA@0fL
mov eax,4 ;sys_write .Dw^'p>
int 80h ;kernel system call =K<8X!xUW
J$)lYSNE
mov ebx,0 ;return value qb+vptg@I
mov eax,1 ;sys_exit AiXxn'&i
int 80h ;kernel system call P^-tGo!
SwESDo)
7o$4ov;T
x86 CPU,Windows,MASM32 l$%mZl
.386 GS^U6Xef
.model flat,stdcall _rQM[{Bkg
option casemap:none u!([m;
x|
;Include 文件定义 su~_l[6
include windows.inc 8oI)q4V
include user32.inc ~!c~jcq]lZ
includelib user32.lib ' LT6%<|
include kernel32.inc +DwyMzeE
includelib kernel32.lib P)?)H]J"
;数据段 anj*a<C<
.data ^(p}hSLAfQ
szCaption db 'A MessageBox!',0 tqY)
szText db 'Hello,world!',0 '1{#I/P;
;代码段 dP(*IOO.
.code ,|4%YaN.3
start: 1mw<$'pm0
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK ~=5 vc''
invoke ExitProcess,NULL `[JX}<~i
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Re <G#*^
end start M[ea!an
*$nz<?
L]o
5=K
AWK ?XVJ$nzW
BEGIN { print "Hello, world!" } utq*<,^
C LhD[/Fo
UE4zmIq
BASIC :^mfTj$
传统版BASIC(例如GWBASIC): $x&\9CRM
(,<ti):
10 PRINT "Hello, world!" J[:3H6%`
20 END sF?N vp
W{\){fr6O
或在提示符输入: |Ew\Tgo/2
v4}kmH1
?"Hello, world!":END 3AWNoXh
|C9qM
现代版BASIC(例如Quick BASIC): YShtoaCx>
?@
ei_<A{
Print "Hello, world!" H4'xxsx
iP1u u
以下的语句在Quick BASIC中同样有效: Ws[[Me,=
p<