You are on page 1of 16

1.

1 API

API

1.1

API

APIApplication Programming Interface

API

API

APIAPI

APIAPIAPI1-1
3123API3API22
45GIFAPIAPI
API

10

11
1-1

API
APIAPI

12

API

API
GIFAPILoadImage()
2
1-1
APIAPI1-1

1.1.1
API

1-2

1-2

1.1 API

API
APIAPI

API

APIAPI

Meyer, 1987; Snyder, 1986

1.1.2 C++API

API
APIAbstract Programming Interface
Application Programming Interface

C++ API.hAPI
Window.libMac OS
XLinux.aWindows.dllMac.dylib
Linux.so
C++ API
(1) .h
APIAPI.cpp
(2) API

(3) APIAPI

WindowsAPIWin32 APIAPIC
Window

Win32 APIC APIC++ APIC++C APIC++ API


STLStandard Template Library
STL
Josuttis, 1999
std::search() std::reverse() std::sort() std::set_intersection() STL

10

11

API

12

1.2

API

API

GUIAPI
API
API
APIGUIAPI

Arnold, 2005
API
Tulach, 2008

APIAPI
Bloch, 2005

GUI
API1-1API

API
API
API
API

Cprintf()
Hello World

1.3 API

APIAPI
APIAPI

API

APIAPI

API

API

API
API

API

APIAPI

API
API

Henning, 2009
API

APIAPI

1.3

API

API(1)API(2)
API
API

10

11

12

API

1.3.1

API

(1)
(2)
APIAPI

Martin, 2000

API
4
APIAPI

API

API
API
API

myprogram.logAPI
GetLogFilename() API
"myprogram.log"
API

std::string
char*
API

APIAPI

1.3.2
API

1.3 API

GIF

APIXMLAPI

API

C++ APIWeb

APIWebWeb
APIWeb Mashup
GoogleAPI

C++ APIWeb
WebPHPPerlPythonLAMP

P
Microsoft ASP.NETWeb
WebC++

FacebookHipHopPHPC++
C++ APIWebC++
APIWeb

Friedman,

10

2008Wolf2004
Web

11

API

12

API

1.3.3

API

APIAPIAPI

///Encrypt()Decrypt()
///

///
///Encrypt()Decrypt()
//////Encrypt()Decrypt()
///

.cpp

APIAPI

Decrypt(Encrypt("Hello"))Hello

.cpp
API

1.4 API

API
API

API

API

1.4

API

APIAPI
API

API

API
APIAPI

API

GNU GPLGeneral Public License


GPL
GNU Lesser General License GPL
LGPLAPI

API

FFTFast Fourier Transform


1D2D2D FFT2D FFT
2256256512512API

10

APIAPI

C++

API
APIAPI

11

12

10

API

APIAPI

API
API

1.5

API

APIAPI
API

1.5.1 API
API
GUIAPI
API
OSAPIAPI

POSIX APIfork()getpid()kill()Unix
Win32 API CreateProcess() GetCurrentProcess()
TerminateProcess()WindowsAPI

APICAPIlibcman page

printf()scanf()fopen()C++
STLAPIstd::stringstd::vectorstd::set
std::map
std::vector<double>::iteratorstd::sort
std::for_each std::set_union STL API
vector

API

libjpegJPEG/JFIF
libtiffTIFFlibpngPNG
API

1.5

API

11

libtiff APITIFF

3
3DAPI3DAPIOpenGLDirectX

3D
API

3DOpenGLDirectX
APIAPI3D
3DAPI
APIOpenSceneGraphOpenSGOGRE

OpenGL API

APIGUIAPI

API
CC++ GUI APIwxWidgetsQt APIGTK+
X/MotifWindowsMac

GUI APIGUI
GUIWindowsMacLinux
GUI API
QtHello World

10

11

QtTrolltech2008Nokia2012Digia

12

12

API

APIAPIAPI
XMLAPIAPIAPIAPI
APIAPI

APIOSAPI
XMLWebGUI API

1.5.2
APIAPI
API1-3Linden Lab
Second Life Viewer3D
C++API

1-3 Second Life Viewer

API
1-3API
IO
APIGUI API

1.6

13

1-3API
1-1API

OS
1-1 Second Life ViewerAPI
API

API

APR

Apache

libpng

PNG

Boost

C++

llqtwebkit

QtWebKit

c-ares

DNS

OggVorbis

cURL

URL

OpenGL

3D

Expat

XML

openjpeg

JPEG-2000KDU

FMOD

MP3

OpenSSL

SSL

FreeGLUT

OpenGLGLUT

Quicktime

FreeType

Vivox

glh_linear

C++ OpenGL

xmlrpc-epi

XML-RPC

jpeglib

JPEG

zlib

KDU

KakaduKDUJPEG-2000

6
APISDK
SDKAPISDK
API

SDK.hAPI.dylib.so.dll

SDKAPI

AppleiPhone APIiPhoneiPod TouchiPad


UIKitAPIWebWebKit API
Core Audio API
AppleiPhone SDKiPhone API

APIiPhone SDK
APIAppleIDEXCode
iPhoneiPhone

1.6

JPEGJFIF
JPEG.jpg.jpeg1-2JFIF

10

11

12

14

API
1-2 JFIF

APP0 marker

0xFFE0

Length

APP0 marker

Identifier

0x4A46494600 (JFIF\0)

Version

0x0102

Density units

X density

Y density

Thumbnail width (w)

Thumbnail height (h)

Thumbnail data

3wh

24RGB

1-2JFIF/JPEG

/
Subversion/
Rooney, 2005

/
APIAPI

API
/API

/API

API

APIAPI
API
API

1.7

15

/API
UDP

TCPSecond Life

API

1.7

APIAPI
APIC++

API

2API
API
C++
3API
APIPimpl

SingletonFactory Method
Proxy
Adapter
Faade
Observer

44API

API
5C++API
CC++ API
C APIAPIAPIAPI
6C++APIC++

7APIC++API

const

8API
APIAPI
API

9API
DoxygenAPI

10

11

10API

12

16

API

11API
APIAPI
C++ APIAPI
PythonRuby
12APIC++
API