모니터 화면에 Hello World를 찍기 위한 프로그램입니다.
중고등학생 (High School/Jr.High)
================================
10 PRINT HELLO WORLD
20 END
아주 간단하지요 ^^;
대학 신입생 (First year in College)
===================================
program Hello(input, output)
begin
writeln(’Hello World’)
end.
대학 졸업반 (Senior year in College)
====================================
(defun hello
(print
(cons ‘Hello (list ‘World))))
신입 사원 (New professional)
============================
#include
void main(void)
{
char *message[] = {Hello , World};
int i;
for(i = 0; i < 2; ++i)
printf(%s, message[i]);
printf(
);
}
숙련된 사원 (Seasoned professional)
===================================
#include
#include
class string
{
private:
int size;
char *ptr;
public:
string() : size(0), ptr(new char(’’)) {}
string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}
~string()
{
delete [] ptr;
}
friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};
ostream &operator<<(ostream &stream, const string &s)
{
rettream << s.ptr);
}
string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}
int main()
{
string str;
str = Hello World;
cout << str << endl;
return(0);
}
슬슬...쓸데없이 복잡해 지기 시작 -_-;;
마스터 프로그래머 (Master Programmer)
=====================================
[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib(actimp.tlb);
importlib(actexp.tlb);
// bring in my interfaces
#include pshlo.idl
[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};
[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{
// some code related header files
importheade
r();
importheader();
importheader();
importheader(pshlo.h);
importheader(shlo.hxx);
importheader(mycls.hxx);
// needed typelibs
importlibctimp.tlb);
importlib(actexp.tlb);
importlib(thlo.tlb);
[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),>
#include ipfix.hxx
extern HANDLE hEvent;
class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);
CHello(IUnknown *pUnk);
~CHello();
HRESULT __stdcall PrintSz(LPWSTR pwszString);
aggregatable
]
coclass CHello
{
cotype THello;
};
};
private:
static int cObjRef;
};
#include
#include
#include
#include
#include thlo.h
#include pshlo.h
#include shlo.hxx
#include mycls.hxx
int CHello::cObjRef = 0;
CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}
HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf(%ws
, pwszString);
return(ResultFromScode(S_OK));
}
CHello::~CHello(void)
{
// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);
return;
}
#include
#include
#include ipfix.hxx
extern HANDLE hEvent;
class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);
CHello(IUnknown *pUnk);
~CHello();
HRESULT __stdcall PrintSz(LPWSTR pwszString);
aggregatable
]
coclass CHello
{
cotype THello;
};
};
private:
static int cObjRef;
};
#include
#include
#include
#include
#include thlo.h
#include pshlo.h
#include shlo.hxx
#include mycls.hxx
int CHello::cObjRef = 0;
CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}
HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf(%ws
, pwszString);
return(ResultFromScode(S_OK));
}
CHello::~CHello(void)
{
// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);
return;
}
#include
nclude pshlo.h
#include shlo.hxx
#include mycls.hxx
HANDLE hEvent;
int _cdecl
n(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();
hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);
CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);
// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);
// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();
// Tell OLE we are going away.
CoUninitialize();
return(0); }
extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;
CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};
UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
nclude
#include
#include
#include
#include
#include pshlo.h
#include shlo.hxx
#include clsid.h
int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];
// get object path
wcsPath[0] = ‘’;
wcsT[0] = ‘’;
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, Object path must be specified
);
return(1);
}
// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, LHello World);
printf(Linking to object %ws
, wcsPath);
printf(Text String %ws
, wcsT);
// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if(SUCCEEDED(hRslt)) {
hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void
CEEDED(hRslt)) {
// print a string out
pHello->Print
Sz(wcsT);
Sleep(2000);
ulCnt = pHello->Release();
}
else
printf(Failure to connect, status: %lx, hRslt);
// Tell OLE we are going away.
CoUninitialize();
}
return(0);
}
초보 해커 (Apprentice Hacker)
=============================
#!/usr/local/bin/perl
$msg=Hello, world.
;
if ($#ARGV >= 0)
while(defined($arg=shift(@ARGV)))
$outfilename = $arg;
open(FILE, > . $outfilename) || die Can’t write $arg: $!
;
print (FILE $msg);
close(FILE)die Can’t close $arg: $!
;
}
} else
print ($msg);
}
1;
경력 해커 (Experienced Hacker)
==============================
#include
#define S Hello, World
main(){exit(printf(S) == strlen(S) ? 0 : 1);}
숙련된 해커 (Seasoned Hacker)
==============================
% cc -o a.out ~/src/misc/hw/hw.c
구루(지존) 해커 (Guru Hacker)
=============================
% cat
Hello, world.
^D
신임 관리자 (New Manager)
=========================
10 PRINT HELLO WORLD
20 END
중견 관리자 (Middle Manager)
============================
mail -s Hello, world. bob(at)b12
밥, Hello, world.를 출력하는 프로그램 소스를 좀 보내주겠나?
내일까지 부탁하네.
^D
고위 관리자 (Senior Manager)
============================
% zmail jim
Hello, world. 프로그램이 오늘 오후까지 필요함.
최고 경영자 (Chief Executive)
=============================
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout
댓글 안에 당신의 성숙함도 담아 주세요.
'오늘의 한마디'는 기사에 대하여 자신의 생각을 말하고 남의 생각을 들으며 서로 다양한 의견을 나누는 공간입니다. 그러나 간혹 불건전한 내용을 올리시는 분들이 계셔서 건전한 인터넷문화 정착을 위해 아래와 같은 운영원칙을 적용합니다.
자체 모니터링을 통해 아래에 해당하는 내용이 포함된 댓글이 발견되면 예고없이 삭제 조치를 하겠습니다.
불건전한 댓글을 올리거나, 이름에 비속어 및 상대방의 불쾌감을 주는 단어를 사용, 유명인 또는 특정 일반인을 사칭하는 경우 이용에 대한 차단 제재를 받을 수 있습니다. 차단될 경우, 일주일간 댓글을 달수 없게 됩니다.
명예훼손, 개인정보 유출, 욕설 등 법률에 위반되는 댓글은 관계 법령에 의거 민형사상 처벌을 받을 수 있으니 이용에 주의를 부탁드립니다.
Close
x