Microsoft PowerPoint - GameProgramming13-DirectSound.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - GameProgramming13-DirectSound.ppt"

Transcription

1 DirectSound Direct Sound DirectSound DirectX에서는사운드를사용하기위해서다이렉트사운드 (DirectSound) API를제공한다. DirectSound 를사용하기위해 d3d9.lib, d3dx9.lib, winmm.lib, dsound.lib, dxerr9.lib, dxguid.lib 을프로젝트에링크 년봄학기 5/6/2009 박경신 DirectSound API Direct Sound DirectSound API 게임에서사운드효과를부여함 윈도우상에서작동되는사운드카드를지원함 PCM 형태의디지털사운드출력 (WAV 파일 ) 2 차원사운드와 3 차원사운드로분류 3 차원사운드 emulating 2- 스피커, 4- 스피커등의옵션지정가능 파일입출력을지원하지않음 DirectSound 가지원하는일 WAV 형식의파일재생 여러개의사운드를동시에재생 하드웨어버퍼에고음질의사운드저장 3 차원환경에서사운드재생 에코, 코러스등의효과 마이크나다른입력장치로부터사운드녹음 DirectSound 사운드버퍼 사운드데이타를사운드버퍼 (sound buffer) 를사용하여관리한다. 다양한사운드를가진여러개의버퍼를가질수있다. 버퍼가제어되고재생될수있으며, 또는새로운버퍼자료를생성하기위해믹싱 (mixing) 도가능하다. 사운드버퍼는사운드데이터를갖는영역이다. 예를들어, WAV 파일을사운드버퍼에읽어들여서, 파일에있는사운드자료를버퍼에넣어재생또는제어를할수있다.

2 Direct Sound 사운드버퍼의종류 주버퍼 (primary buffer) 모든재생되고자하는사운드가주버퍼에서믹싱 (mix) 되어사운드카드에서출력된다. 보조버퍼 (secondary buffer) 보조버퍼는우리의응용프로그램에서필요한모든사운드데이터를가지는버퍼이다. 다이렉트사운드는하나이상의보조버퍼를사용하여여러개의사운드를동시에재생할수있다. 정적버퍼 (static buffer) 사운드데이터가일정크기를가지고있을때정적버퍼를사용한다. 정적버퍼는특정사운드전체를메모리로읽어들일수있다. 스트리밍버퍼 (streaming buffer) 사운드데이터가너무커서메모리에한꺼번에들어가지않을때스트리밍버퍼를사용한다. 사운드가재생되면서스트리밍버퍼에새로운사운드데이터를읽어들인다. Direct Sound Interface IDirectSound8: 사운드카드의기능을결정하고재생을위한버퍼생성에사용 IDirectSoundBuffer8: 재생가능한사운드데이터를담기위한버퍼 IDirectSound3DBuffer8: 3 차원사운드를담기위한버퍼 IDirectSound3DListener8: 3 차원 listener 를표현에사용 IDirectSoundCapture8: Capture buffer 생성에사용 IDirectSoundCaptureBuffer8: 마이크와같은장치에서녹음한데이타를저장하기위한버퍼 IDirectSoundNotify8: 사운드재생종료를알림 IKsPropertySet8: 사운드카드제조업체에서새로운기능을넣기위해사용하는인터페이스 DirectSound 설정 Using DirectSound DirectSound 설정 1. DirectSound 의객체를생성한다. DirectSoundCreate8() 함수사용. 2. 협력레벨을설정한다. IDirectSound8::SetCooperativeLevel() 함수사용. 3. 보조사운드버퍼를생성한다. IDirectSound8::CreateSoundBuffer() 함수사용. 4. 생성된보조사운드버퍼에사운드정보를복사한다. 5. 마지막으로, 프로그램종료시에는반드시사용중인객체들을해제시킨다. 다이렉트사운드 (DirectSound) 다이렉트사운드를사용하려면반드시초기화가필요하다. 첫번째로, IDirectSound8 인터페이스로표현되는다이렉트사운드장치를사용해야한다. 다이렉트사운드장치 (DirectSound Device) 컴퓨터안에서사운드하드웨어특정부분의인터페이스를말한다. 다이렉트사운드가작동되도록하려면사운드카드를선택하고다이렉트사운드장치를생성해야한다. 다이렉트사운드장치생성은 DirectSoundCreate8 를사용한다.

3 Using DirectSound HRESULT DirectSoundCreate8(LPCGUID lpcguiddevice, LPDIRECTSOUND8 *ppds8, // LPDIRECTSOUND8 의포인터변수 LPUNKNOWN punkouter); // 항상 NULL 이다 lpcguiddevice GUID는사용하고자하는사운드카드장치를말한다 DSDEVID_DefaultPlayback 나 NULL을사용한다. NULL은디폴트사운드장치 (default sound device) 를사용한다는의미 ppds8 생성된다이렉트사운드장치를지칭하는변수의포인터 punkouter 제어하고자하는객체의 IUnknown interface이다. 항상 NULL이다. Using DirectSound // variable that will hold the return code HRESULT hr; // variable that will hold the created DirectSound device LPDIRECTSOUND8 m_pds = NULL; // Attempt to create the DirectSound device hr = DirectSoundCreate8(NULL, &m_pds, NULL); // Check the return value to confirm that a valid device was created if (FAILED(hr)) return false; Setting the Cooperative Level 하드웨어장치에접근할수있게협력레벨을지정해야한다. 다이렉트사운드가제공하는 4 가지의협력레벨 DSSCL_NORMAL 일반적인협력레벨. 이레벨은다른이벤트발생을가능하게해서다른응용프로그램과같이쓰기에가장좋다. 응용프로그램이활성화중일때만사운드를출력한다. 주버퍼를제어하기위한코드를작성할필요가없으며, 대부분이이설정을사용한다. 하드웨어장치가다른응용프로그램과공유해서쓰기때문에주버퍼의포멧을바꿀수없다. DSSCL_PRIORITY 우선순위협력레벨. 사운드카드에접근할수있는권한을가지게되며, 주사운드버퍼의일반적인제어권이프로그래머에게있게된다. 이레벨은응용프로그램에서사운드압축과같은주버퍼의데이터형식변경작업을필요로할경우사용된다. 대부분의게임에서는이레벨을사용하고있다. Setting the Cooperative Level 다이렉트사운드가제공하는 4 가지의협력레벨 DSSCL_EXCLUSIVE 독점적협력레벨. 우선순위협력레벨과비슷하지만응용프로그램이활성화되어있을때만사운드를출력할수있다. DSSCL_WRITEPRIMARY 가장높은협력레벨로서, 이레벨은응용프로그램에게주버퍼의모든제어권한을준다. 즉, 재생, 정지등의동작들을프로그래머가직접제어해야한다. 자신만의사운드믹서, 사운드엔진을만들때에만이레벨을사용한다.

4 Setting the Cooperative Level 협력레벨을설정하기위해서 SetCooperativeLevel 함수를사용한다. HRESULT SetCooperativeLevel(HWND hwnd, DWORD dwlevel); hwnd 협력레벨바꾸기를요청하려는응용프로그램의윈도우핸들 dwlevel 협력레벨 Setting the Cooperative Level HRESULT hr; // Create the DirectSound device LPDIRECTSOUND8 g_pds = NULL; hr = DirectSoundCreate8(NULL, &g_pds, NULL); // Set the DirectSound cooperative level hr = g_pds->setcooperativelevel(hwnd, DSSCL_PRIORITY); if (FAILED(hr)) return false; Sound Files 사운드데이터는다이렉트사운드의보조버퍼로읽혀서사용된다. 사운드데이터는정적버퍼또는스트리밍버퍼로읽혀들인다. 정적버퍼 (Static buffer) 사운드전체를읽어들일수있는고정된길이의버퍼이다. 스트리밍버퍼 (Streaming buffer) 버퍼가수용할수있는양보다더큰대용량사운드를사용할때스트리밍버퍼를사용된다. 작은버퍼가사용된다. 사운드데이터의일부가계속읽어들이면서재생된다. The Secondary Buffer 사운드데이터가재생되는단계 다이렉트사운드는오디오데이터를저장하는데버퍼를사용한다. 재생하려는오디오데이터를저장하기위해보조버퍼를생성해야한다. 버퍼가생성된후에사운드전체를버퍼에올려놓는다. ( 또는스트리밍사운드의경우사운드의일부를올려놓는다.) 그리고사운드를재생한다. 다이렉트사운드는여러개의보조버퍼를지원하며동시에재생가능하다. 이때여러개의재생되는사운드는주버퍼에서믹싱된다. 보조버퍼를생성하기전에사운드의포멧을알아야한다. 다이렉트사운드는같은포멧으로버퍼를사용해야한다. 예를들어, 16-bit 2-채널 WAV파일경우보조버퍼도이파일포멧으로생성되어야한다.

5 WAVEFORMATEX structure WAVEFORMATEX structure 다이렉트사운에서버퍼의포멧지정 : WAVEFORMATEX 만약 wav 파일포멧이알려진것이라면, 일반적인 WAVEFORMATEX 구조체를생성한다. 만약파일포멧이모르는것이라면, 오디오파일을열은후에이구조체의값을채워야한다. typedef struct { WORD wformattag; // 오디오종류 (1-채널, 2-채널 ) WORD nchannels; // 채널수 DWORD nsamplespersec; // 샘플링주기 DWORD navgbytespersec; // 평균데이터전송비율 WORD nblockalign; // 블럭당전체데이터 WORD wbitspersample;// 샘플당비트수 (8, 16) WORD cbsize; // 추가적인바이트수 } WAVEFORMATEX; wformattag 1-채널또는 2-채널의 PCM (Pulse Code Modulation) 자료의경우이값은 WAVE_FORMAT_PCM이다. nchannels 사운드의채널수. 1일때는MONO이고 2일때는STEREO이다. nsamplespersec 샘플링주기, 즉주파수 (Mhz). 8.0 khz, khz, khz, 44.1 khz navgbytespersec 평균데이터-전송비율 (in bytes per second) nblockalign 블럭단위바이트 (in bytes). wformattag 의자료의최소구성단위이다. nchannels * wbitspersample / 8 wbitspersample 샘플당비트수 (8 또는 16) cbsize 추가적으로더필요한바이트수. 항상 0 이다. The Secondary Buffer 보조사운드버퍼구조체 : DSBUFFERDESC typedef struct { DWORD dwsize; // DSBUFFERDESC 구조체크기 DWORD dwflags; // 보조사운드버퍼의플래그 DWORD dwbufferbytes; // 사운드버퍼의크기 DWORD dwreserved; // 예약이끝난상태 DLPWAVEFORMATEX lpwfxformat; // WAVEFORMATEX 정보 GUID guid3dalgorithm; // 2 스피커가상알고리즘 GUID 식별자 } DSBUFFERDESC, *LPDSBUFFERDESC; DSBUFFERDESC structure dwsize DSBUFFERDESC 구조체의크기 (in bytes) dwflags 보조사운드버퍼의플래그정보를지정 dwbufferbytes 새로운사운드버퍼의크기 (in bytes) 이버퍼가가지고있는사운드자료의바이트수 dwreserved 사용하지않는다. 항상 0이다. lpwfxformat WAVEFORMATEX 구조체정보를받는다. guid3dalgorithm 사용하는두개의스피커가상알고리즘 GUID 식별자

6 DSBUFFERDESC structure dwflags 에자주사용되는플래그 DSBCAPS_CTRLALL: 버퍼는모든제어기능을가진다. DSBCAPS_CTRLDEFAULT: 버퍼는기본제어옵션을가진다. 이값은 DSBCAPS_CTRLVOLUME, DSBCAPS_CTRLFREQUENCY 를지정하는것과동일하지만, DirectX6.0 이후부터없어졌다. DSBCAPS_CTRLFREQUENCY: 버퍼가주파수제어기능을가진다. DSBCAPS_CTRLPAN: 버퍼가팬 (pan) 기능을가진다. DSBCAPS_CTRLVOLUME: 버퍼가볼륨제어기능을가진다. DSBCAPS_STATIC: 버퍼가정적사운드데이터에사용될것임을알린다. 대부분하드웨어 ( 사운드카드 ) 메모리에생성한다. DSBCAPS_LOCHARDWARE: 메모리가사용가능하다면하드웨어메모리에사운드버퍼를생성하며하드웨어믹싱을사용한다. DSBCAPS_LOCSOFTWARE: 시스템메모리 (RAM) 에사운드버퍼를생성하며소프트웨어믹싱을사용한다. DSBCAPS_PRIMARYBUFFER: 주사운드버퍼로생성한다. 이플래그를주지않으면기본값으로보조사운드버퍼로생성된다. Creating a Secondary Buffer DSBUFFERDESC 구조체를지정한후, 보조사운드버퍼를생성한다. HRESULT CreateSoundBuffer(LPCDSBUFFERDESC pcdsbufferdesc, LPDIRECTSOUNDBUFFER *ppdsbuffer, LPUNKNOWN punkouter); pcdsbufferdesc 이미지정된 DSBUFFERDESC 구조체를가리킨다. ppdsbuffer 새롭게생성된버퍼를가질변수를가리킨다. punkouter 제어하고자하는객체의 IUnknown interface 를가리킨다. 항상 NULL 이다. Creating a Secondary Buffer // Define a WAVEFORMATEX structure WAVEFORMATEX wfx; // Clear the structure to all zeros ZeroMemory(&wfx, sizeof(waveformatex)); // Set the format to WAVE_FORMAT_PCM wfx.wformattag = (WORD) WAVE_FORMAT_PCM; wfx.nchannels = 2; // set channels by 2 wfx.nsamplespersec = 22050; wfx.wbitspersample = 16; wfx.nblockalign = (WORD) (wfx.wbitspersample / 8 * wfx.nchannels); wfx.navgbypersec = (DWORD) (wfx.nsamplespersec * wfxnblockalign); Creating a Secondary Buffer DSBUFFERDESC dsbd; ZeroMemory(&dsbd, sizeof(dsbufferdesc)); dsbd.dwsize = sizeof(dsbufferdesc); dsbd.dwflags = 0; dsbd.dwbufferbytes = 64000; dsbd.guid3dalgorithm = GUID_NULL; dsbd.lpwfxformat = &wfx; LPDIRECTSOUNDBUFFER DSBuffer = NULL; hr = g_pds->createsoundbuffer(&dsbd, &DSBuffer, NULL); if (FAILED(hr)) return NULL;

7 Locking the Sound Buffer 사운드버퍼의잠금 사운드버퍼잠금은버퍼에서사운드데이터를제어하고바꿀수있게한다. 잠금후에는버퍼에사운드데이터를불러올수있다. 사용후에잠금상태를풀어줘야한다. HRESULT Lock( DWORD dwoffset, DWORD dwbytes, LPVOID *ppvaudioptr1, LPDWORD pdwaudiobytes1, LPVOID *ppvaudioptr2, DPDWORD pdwaudiobytes2, DWORD dwflags); Locking the Sound Buffer dwoffset 어디서부터잠글것인가를설정 dwbytes 얼마만큼잠글것인가를설정 (in bytes) ppaudioptr1 잠글버퍼에서첫번째영역의주소 pdwaduiobytes1 첫번째영역의길이 (in bytes) pdwaudioptr2 잠글버퍼에서두번째영역의주소 만약사운드데이터로버퍼전체를채운다면, NULL 을사용한다. pdwaudiobytes2 두번째영역의길이 (in bytes) pdwaudioptr2 가 NULL 이면, 이값도 NULL 을사용한다. Locking the Sound Buffer dwflags 어떻게잠글것인가를설정하는플래그 DSBLOCK_FROMWRITECURSOR: 버퍼의현재기록커서 (write cursor) 로부터잠겨지게된다. DSBLOCK_ENTIREBUFFER: 전체버퍼가잠겨지게된다. 이플래그가설정되면, dwbytes 값은무시한다. 두번째영역 (100 bytes) 1000 bytes 첫번째영역 (900 bytes) 첫번째영역의시작주소 pdwaudioptr1 두번째영역의시작주소 pdwaudioptr2 첫번째버퍼에있는사운드를재생하는동안에두번째버퍼에는나머지사운드부분을저장한다. 그리고, 첫번째버퍼에있는사운드재생이끝나면곧바로두번째버퍼에저장된사운드를재생하게된다. 이렇게해서, 사운드의처리속도를빠르게하고사운드재생이끊기지않고반복될수있게한다. Unlocking the Sound Buffer 사운드버퍼의잠금상태를풀어야한다. 사운드데이터를버퍼에복사하고난후, Unlock 을한다. HRESULT Unlock(LPVOID pvaudioptr1, DWORD dwaudiobytes1, LPVOID pvaudioptr2, DWORD dwaudiobytes2); pvaudioptr1 잠금에서사용됐던첫번째영역의주소 dwaudiobytes1 pvaudioptr1에사용됐던첫번째영역의길이 (in bytes) pvaudioptr2 잠금에서사용됐던두번째영역의주소 dwaudiobytes2 pvaudioptr2 에사용됐던두번째영역의길이 (in bytes)

8 Reading the Sound Data into the Buffer Reading the Sound Data into the Buffer Loading Sound Data 다이렉트사운드에는사운드파일을불러오는기능이없다. 따라서, DirectX DSK에포함되어있는 dsutil.cpp 사용하여사운드파일을불러오는것을할것이다. Loading Sound Data Process 1. CWaveFile 객체를생성한다. 2. WAV 파일을 Open한다. 3. WAV 데이터를담고있을보조버퍼를생성한다. 4. 버퍼를잠근다. 5. 사운드데이터를읽고복사한다. 6. 버퍼잠금상태를푼다. 1. CWaveFile 객체를생성한다. CWaveFile wavfile = new CWaveFile(); 2. WAV 파일을 Open 한다. 아래는 test.wav 파일을열고읽는예제이다. 만약파일에데이터가없다면 ( 즉, size=0) 이면중단한다. // open test.wav wavfile->open( test.wav, NULL, WAVEFILE_READ); // Check to make sure that the size of data within the wave file is valid if (wavfile->getsize() == 0) return false; 3. WAV 데이터를담고있을보조버퍼를생성한다. Reading the Sound Data into the Buffer 4. 버퍼를잠근다. HRESULT hr; VOID *pdslockedbuffer = NULL; // pointer to locked buffer memory DWOR dwdslockedbuffersize = 0; // size of the locked buffer // Start the beginning of the buffer hr = DSBuffer->Lock(0, // This assumes a buffer of bytes 64000, // The variable holds a pointer to the start of the buffer &pdslockedbuffer, // holds the size of the locked buffer &dwdslockedbuffersize, NULL, // No secondary is needed NULL, // No secondary is needed DSBLOCK_ENTIREBUFFER); // Lock the entire buffer if (FAILED(hr)) return NULL; Reading the Sound Data into the Buffer 5. 사운드데이터를읽고복사한다. WAV 파일을열고데이터를읽기전에 resetfile 을한다. 그리고나서, 데이터를 read 한다. HRESULT hr; // variable to hold the return code // the amount of data read from the wav file DWORD dwwavedataread = 0; // reset the WAV file to the beginning wavfile->resetfile(); // read the WAV file hr = wavfile->read((byte *) pdslockedbuffer, dwdslockedbuffersize, &dwwavedataread); if (FAILED(hr)) return NULL;

9 Reading the Sound Data into the Buffer 6. 버퍼잠금상태를푼다. DSBuffer->Unlock(pDSLockedBuffer, dwdslockedbuffersize, NULL, NULL); Playing Sound in a Buffer 다이렉트사운드버퍼에데이터가올려지면 Play 함수를사용하여사운드를재생한다. HRESULT Play(DWORD dwreserved1, DWORD dwpriority, DWORD dwflags); dwreserved1 항상 0 이다. dwpriority 사운드의재생우선순위 0 부터 0xFFFFFFFF 의값 버퍼생성시 DSBCAPS_LOCDEFER 플래그가지정되지않았다면, 0 으로한다. dwflags 사운드가어떻게재생될지를지정하는플래그, e.g. DSBPLAY_LOOPING DSBuffer->Play(0, 0, DSBPLAY_LOOPING); // 배경음악 loop sound Stopping a Sound 사운드재생의정지를위해서는 Stop 함수를사용한다. HRESULT Stop(); HRESULT hr; hr = DSBuffer->Stop(); if (FAILED(hr)) return false; Controling the Volume 사운드의볼륨조절은 SetVolume 함수를사용한다. 볼륨은 DSBVOLUME_MIN ( 음소거 ) 에서부터 DSBVOLUME_MAX ( 사운드의원래크기 ) 까지중에지정할수있다. HRESULT SetVolume(LONG lvolume); lvolume 0 (DSBVOLUME_MAX) 에서부터 (DSBVOLUME_MIN) 까지중의값으로지정할수있다. 현재재생중인사운드의볼륨을얻고자할때는 GetVolume 함수를사용한다. HRESULT GetVolume(LPLONG plvolume);

10 Panning the Sound 사운드가왼쪽오른쪽스피커사이를팬 (Panning) 하기위해서는 SetPan 함수를사용한다. 한쪽스피커에서사운드의크기를줄이면서다른쪽스피커의사운드의크기를늘리면서패닝효과를얻는다. 그래서사운드가마치움직여다니는것과같은효과를얻는다. HRESULT SetPan(LONG lpan); lpan DSBPAN_LEFT 에서부터 DSBPAN_RIGHT 까지의값을갖는다. DSBPAN_LEFT (-10000) 은오른쪽스피커의사운드가완전히안들릴때까지왼쪽스피커에서사운드크기를증가시킨다. DSBPAN_RIGHT (10000) 은반대편에서위와같이한다. DSBPAN_CENTER (0) 으로지정하면양쪽스피커의사운드크기를원음크기로되돌려놓는다. Panning the Sound 현재팬사운드값을받고자하면, GetPan 함수를사용한다. HRESULT GetPan(LPLONG plpan); NOTE: SetPan 또는 GetPan 함수를사용하기전에이콘트롤을사용한다고버퍼를지정해야한다. 즉, 보조버퍼생성시 DSBUFFERDESC 구조체에 DSBCAPS_CTRLPAN 플래그를설정해야한다. Reference 다이렉트사운드입문 다이렉트사운드 C/C++ 레퍼런스 htm

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

3D Game Programming Note

3D Game Programming Note 2D Game Programming 한국산업기술대학교 게임공학과 정내훈 개요 표면 표시가능한메모리 팔레트 DirectDraw 로그리기 2 표면 (Surface) 정의 : 실제그래픽이그려지는장소 모니터로나오는것은주표면하나뿐 위치 : 메모리영역 한프로그램에서여러개의표면을다룰수있다. 주표면 비디오스크린자체 3 표면 (Surface) 메모리 표면 메인메모리 표면 표면

More information

No Slide Title

No Slide Title Copyright, 2001 Multimedia Lab., CH 3. COM object (In-process server) Eun-sung Lee twoss@mmlab.net Multimedia Lab. Dept. of Electrical and Computer Eng. University of Seoul Seoul, Korea 0. Contents 1.

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

PowerPoint Template

PowerPoint Template SOFTWARE ENGINEERING Team Practice #3 (UTP) 201114188 김종연 201114191 정재욱 201114192 정재철 201114195 홍호탁 www.themegallery.com 1 / 19 Contents - Test items - Features to be tested - Features not to be tested

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지 PX-8000 SYSTEM 8 x 8 Audio Matrix with Local Control 2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지역에

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

3주차_Core Audio_ key

3주차_Core Audio_ key iphone OS Sound Programming 5 Core Audio For iphone OS 2010-2 Dept. of Multimedia Science, Sookmyung Women's University JongWoo Lee 1 Index 1. Introduction 2. What is Core Audio? 3. Core Audio Essentials

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint Presentation

PowerPoint Presentation GPU-based Keylogger Jihwan yoon 131ackcon@gmail.com Index Who am I Keylogger, GPU GPU based Keylogging - Locating the keyboard buffer - Capturing KEYSTROKES Demo About me Who am I 윤지환 CERT-IS reader BOB

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

슬라이드 1

슬라이드 1 파일 I/O 와디렉터리컨트롤 1 목차 기본적인파일처리 파일검색 파일열기 & 닫기 파일읽기 & 쓰기 삭제, 복사, 이동 (?) 파일의시간정보얻기 파일특성정보얻기 파일포인터 directory 생성 & 삭제 경로설정 경로얻기 2 파일생성 / 열기 HANDLE CreateFile ( LPCTSTR lpfilename, DWORD dwdesiredaccess, 파일이름

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2 제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.

More information

볼륨 조절 아이콘 표시하기 만일 알림 영역에 볼륨 조절 아이콘이 표시되지 않았다면 아래의 방법을 따라합니다. 1> [시작] - [제어판] - [사운드 및 오디오 장치] 아이콘을 더블 클릭합니다. 2) [사운드 및 오디오 장치 등록 정보] 대화상자에서 [볼륨] 탭을 클릭

볼륨 조절 아이콘 표시하기 만일 알림 영역에 볼륨 조절 아이콘이 표시되지 않았다면 아래의 방법을 따라합니다. 1> [시작] - [제어판] - [사운드 및 오디오 장치] 아이콘을 더블 클릭합니다. 2) [사운드 및 오디오 장치 등록 정보] 대화상자에서 [볼륨] 탭을 클릭 사운드 문제해결 1. 볼륨 조절 관련 문제가 발생했을 때 음악은 재생이 되는데 소리가 들리지 않는 경우가 있습니다. 이때는 먼저 스피커 연결 부위가 잘 연 결되었는지, 볼륨 조정은 올바르게 되었는지 확인해야 합니다. 1) 스피커 확인 및 볼륨 조절하기 1> 컴퓨터 본체 뒷면에 스피커로 연결되는 부분에 올바르게 잭이 꽂혀 있고, 꽉 끼워져 있는지 확인합 니다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Microsoft PowerPoint - chap08-Ogg Vorbis Playback in OpenAL.pptx

Microsoft PowerPoint - chap08-Ogg Vorbis Playback in OpenAL.pptx Sound Programming 제 8 장 Ogg Vorbis Playback in OpenAL 1 Overview of Ogg Vorbis An open-source sound codec created by Xiphophorus www.xiph.org popular on Linux due to its open-source heritage an alternative

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc DVR HDD PC Viewer Guide ADVR6000 / SWI5000 선운정보통신 소개 본 매뉴얼은 DVR의 하드디스크 PC 뷰워의 설명서입니다. 이 프로그램은 DVR에 장착되어 미리 포맷되고 녹화된 HDD에 저장된 영상들을 사용자의 PC에서 직접 보여줄 것입니다. DVR의 하드디스크-랙에서 분리된 하드디크스가 사용자의 PC에 연결됐다면 이 응용프로그램은

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 16 강. 파일입출력목차 파일입출력기초 파일입출력모드 텍스트파일과이진파일 이진파일입출력 임의접근 1 /18 16 강. 파일입출력파일입출력기초 파일입출력과정 파일스트림객체생성 파일열기 사용 : 기본적으로표준입출력객체 (cin, cout) 사용방법과동일 파일닫기 파일스트림클래스의종류

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070> /* */ /* LZWIN.C : Lempel-Ziv compression using Sliding Window */ /* */ #include "stdafx.h" #include "Lempel-Ziv.h" 1 /* 큐를초기화 */ void LZ::init_queue(void) front = rear = 0; /* 큐가꽉찼으면 1 을되돌림 */ int LZ::queue_full(void)

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 4 강프레임리스너 (Frame Listener) 이대현교수 학습안내 학습목표 프레임리스너를이용하여게임루프를구현하는방법을이해한다. 오우거엔짂의키입력처리방식을이해한다. 학습내용 프레임리스너의개념프레임리스너를이용한게임캐릭터의이동캐릭터의이동속도조절 OIS 입력시스템을이용한키보드입력의처리 기본게임루프 Initialization Game Logic

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는 Dong Yang E&P 인버터 Modbus Monitoring Protocol 2018. 08. 27 Sun Spec (Modbus-RTU) -. Modbus Protocol 각 Field에대한설명 Frame갂의구별을위한최소한의시갂 BaudRate 9600에서 1bit 젂송시갂은 Start 0.104msec, (3.5 character Times, 1 Character

More information

Microsoft PowerPoint - 09network.ppt

Microsoft PowerPoint - 09network.ppt Game Programming DirectPlay 를이용한네트워킹 November 21, 2005 배울내용 네트워킹의이해 DirectPlay 인터페이스의사용 네트워크메시지의처리 서버와클라이언트의사용 네트워크의이해 (1) 네트워크모델 서버, 클라이언트, 피어-투-피어 응용프로그램에따라다른모델선택 클라이언트 서버 클라이언트 피어 클라이언트 클라이언트 피어 피어

More information

실험 5

실험 5 실험. OP Amp 의기초회로 Inverting Amplifier OP amp 를이용한아래와같은 inverting amplifier 회로를고려해본다. ( 그림 ) Inverting amplifier 위의회로에서 OP amp의 입력단자는 + 입력단자와동일한그라운드전압, 즉 0V를유지한다. 또한 OP amp 입력단자로흘러들어가는전류는 0 이므로, 저항에흐르는전류는다음과같다.

More information

C# 언어 사양

C# 언어 사양 Chapter 1. Microblaze and DDR3 Microblaze 을사용한임베디드시스템을구현할경우메모리콘트롤러가필요한경우가 많이있습니다. DDR2, 3 메모리의경우에는동작속도가너무높다보니일반적으로 RTL 로메모리 콘트롤러를구현하지않습니다. 이때사용하는툴이 MIG 라는툴인데 MIG 는메모리콘트롤러가매우높은동작 주파수에서도제대로동작할수있도록메모리콘트롤러를만들어줍니다.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

10주차.key

10주차.key 10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1

More information

F120L(JB)_UG_V1.0_ indd

F120L(JB)_UG_V1.0_ indd 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 전화끊기, 통화중메뉴사용하기 전화통화를종료하려면 통화중 ➌ ( 끊기 ) 를누르세요. 전원버튼으로통화종료 ( 124쪽 ) 로설정한경우통화중전원

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

디지털영상처리3

디지털영상처리3 비트맵개요 BMP 파일의이해실제 BMP 파일의분석 BMP 파일을화면에출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic Device

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

USB-AIO11 API

USB-AIO11 API NET-AIO11 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

: AA ( ) TV : ios ( ).. 2

: AA ( ) TV : ios ( ).. 2 : 2014... AA 1. 2. ( ) TV : ios ( ).. 2 ( ) TV : ios ( ).... 3 AA. `` 음악없음 을 To create 생성하기 a new 위해 group. 스피커를 choose some 선택하세요 speakers.. 모두 No 선택 Music + 음악없음 음악없음 Surround Group Soundbar 2 음악없음 완료

More information

untitled

untitled 1.0m ~ 4.3m (3.3 ft. ~ 14.1 ft.) 1.0m ~ 3.4m (3.3 ft. ~ 11.1 ft.) 1.0m ~ 3.0m (3.3 ft. ~ 9.8 ft.) 1.0m ~ 2.1m (3.3 ft. ~ 6.9 ft.) NTSC

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

슬라이드 1

슬라이드 1 CHP 6: 큐 C 로쉽게풀어쓴자료구조 생능출판사 2005 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 큐 DT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

Embeddedsystem(8).PDF

Embeddedsystem(8).PDF insmod init_module() register_blkdev() blk_init_queue() blk_dev[] request() default queue blkdevs[] block_device_ops rmmod cleanup_module() unregister_blkdev() blk_cleanup_queue() static struct { const

More information

1장 윈도우 프로그래밍 들어가기

1장 윈도우 프로그래밍 들어가기 1 장 윈도우프로그래밍들어가기 김성영교수 금오공과대학교 컴퓨터공학부 예제 다음프로그램은언제종료할까? #include #define QUIT -1 int Func(void) int i; cout > i; return i; void main(void) int Sum = 0, i; cout

More information