Backup/Windows
C++ 후위표기법을 중위표기법으로 변경하는 샘플
C++ 후위표기법을 중위표기법으로 변경하는 샘플
2018.06.11중위표기법 (infix)연산자를 연산 대상의 가운데에 쓰는 표기법일반적인 수학 표기법경우에 따라 연산의 우선순위를 정확히 표현하기 위해 괄호가 필요함예: ( 1 + 2 ) * ( 3 + 4 ) 전위표기법 (prefix)연산자를 연산 대상의 앞에 쓰는 표기법 예: * + 1 2 + 3 4 후위 표기법 (postfix)연산자를 연산 대상의 뒤에 쓰는 표기법예: 1 2 + 3 4 + * /* 후위 표기식으로 바꾼이유 1.연산자 우선순위 2.괄호 */ #include #include #define MAX_STACK_SIZE 100 //스택의 최대 크기 #define MAX_EXPR_SIZE 100 //수식의 최대 크기 typedef enum { //연산자들의 우선순위를 열거형으로 선언 lparen, rp..
C++ 중위표기법을 후위표기법으로 변경하는 샘플
C++ 중위표기법을 후위표기법으로 변경하는 샘플
2018.01.26중위표기법 (infix)연산자를 연산 대상의 가운데에 쓰는 표기법일반적인 수학 표기법경우에 따라 연산의 우선순위를 정확히 표현하기 위해 괄호가 필요함예: ( 1 + 2 ) * ( 3 + 4 ) 전위표기법 (prefix)연산자를 연산 대상의 앞에 쓰는 표기법 예: * + 1 2 + 3 4 후위 표기법 (postfix)연산자를 연산 대상의 뒤에 쓰는 표기법예: 1 2 + 3 4 + * 예시 중위표기법 전위표기법 후위표기법 ( 1 + 2 ) * ( 3 + 4 ) * + 1 2 + 3 4 1 2 + 3 4 + * 중위표기법에서 후위표기법 풀이 과정 프로그램 실행 모습 샘플 소스https://github.com/Developer-Yongil/PrecedenceStack
C++ dll 생성 방법 및 PowerBuilder에서 C++ dll 사용 방법
C++ dll 생성 방법 및 PowerBuilder에서 C++ dll 사용 방법
2018.01.11C++ dll 생성 방법1. Win32 콘솔 응용 프로그램을 선택합니다. 2. DLL 항목을 선택 후 프로젝트를 생성합니다. 3. 가독성을 높이기 위해서 dllExmple.h파일에 필요한 함수를 Define을 합니다.#define MKVOICE_API __declspec(dllexport)#define DLL extern "C" MKVOICE_API 4. dllExmple.h 파일의 함수 선언합니다.DLL int __stdcall ClearCall(); 5. dllExmple.cpp 파일의 함수 정의합니다.DLL int __stdcall ClearCall(){ int nRet; try { nRet = SXClearCall(SX_MONITOR_HANDLE, m_hMonitor, NULL); lCallID ..
CreateThread, _beginthread, _beginthreadex, AfxBeginThread 차이점
CreateThread, _beginthread, _beginthreadex, AfxBeginThread 차이점
2018.01.031. C/C++프로그래밍과 ::CreateThread윈도우가 제공하는 CreateThread함수는 스레드를 생성하는 함수입니다. 하지만 C/C++로 코드를 작성하는 경우에는 CreateThread를 사용해서는 안 되고, 마이크로소프트 C/C++ runtime-library에서 제공하는 _beginthreadex함수를 사용해야 합니다. 다른 컴파일러에서도 ::CreateThread함수를 대체할 만한 함수를 제공할 것이며, 반드시 컴파일러에 의해 제공되는 다른 함수를 사용해야 합니다. 2. 멀티 스레드 안전한 C/C++ Library역사적으로 C runtime-library개발자는 멀티 스레드 어플리케이션에서 C runtime-library를 사용하였을 때 발생하는 문제에 대해서는 전혀 고려하지 않았습니다...
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙
(출처) C++ 프로그래밍 스타일 가이드라인 코딩/프로그래밍 규칙
2017.12.24채경석 Kyuseo의 게임 프로그래밍 이야기 :: http://a.TK.co.kr 저작권 : 출처 및 링크를 표시하여 자유롭게 사용합니다. 개요본 가이드는 절대적이거나, 표준으로 규정된 내용들이 아니라 하나의 지침사항입니다.프로그래밍에 조금의 지식이 있는 프로그래머라면 '(' 뒤에 공백이 있던지 '{'를 어떻게 붙이던지 코드를 분석하는데 별다른 어려움이 없습니다. 하지만 가이드를 힘들게 작성하고 배우고 지켜야 하는 이유는, 좀 더 코드를 분석하는 시간을 줄이고 이해하기 쉽도록 하기 위해서 입니다. 이것이 동일한 프로젝트에서, 같은 팀에서, 같은 스타일로 제작해야 하는 이유입니다.아래 사항들은 표준도 아니고 절대적이지도 않기 때문에 일부분을 자신들의 팀이나, 프로젝트 스타일에 바꾸어 수정해서 사용하셔도 무..
콘솔게임 만들때 자주쓰는 함수- 4.음악사용
콘솔게임 만들때 자주쓰는 함수- 4.음악사용
2017.12.21Visual C에서 음악 실행(PlaySound) - Windows.h, MMSystem.h (winmm.lib)BOOL PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound)이 함수는 .wav 형식의 파일만 지원합니다. 프리웨어 음악파일 변환사이트를 이용해서 .wav로 변환시켜주세요. (http://koyotstar.free.fr/indexEn.html)이 함수의 특징은 두개 이상의 파일을 한번에 재생이 불가능합니다. 즉! 배경음 + 효과음을 할 수 없습니다. SND_ASYNC: 비동기화 연주. 연주시작과 동시에 리턴하므로 다른작업을 바로 할수 있습니다.SND_SYNC: 동기화연주. 사운드의 연주가 완전히 끝난 후 리턴합니다.SND_LOOP: 해당 사운드를..
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리
콘솔게임 만들때 자주쓰는 함수들 -3. 데이터 처리
2017.12.21시간 차이를 알려주는 함수 (GetTickCount) - Windows.hDWORD GetTickCount(void)DWORD형의 시간 틱 카운트를 리턴합니다. (1틱당 0.001초)원도우즈는 부팅된 후 1초에 1000씩 틱 카운트를 증가시키는데 이 함수를 사용하면 부팅된 지 얼마나 경과 했는지를 알 수 있습니다. 주로 두 사건 사이의 경과 시간을 구하는데 쓰며(예: 테트리스 블럭 내려오는 시간) 카운트는 32비트 값이므로 최대 49.7일간의 카운트를 유지할 수 있습니다. DWORD prevtime; //전 시간을 기억 void TimeChecks() { if((GetTickCount() - prevtime) == 970) tetrisblock_y--; //테트리스 블럭을 한칸 떨어뜨림 } 파일의 데이터..
콘솔게임 만들때 자주쓰는 함수들 -2. 콘솔프로그램 화면 변경
콘솔게임 만들때 자주쓰는 함수들 -2. 콘솔프로그램 화면 변경
2017.12.21명령프롬프트 제어 함수(system) - Windows.hint __cdecl system(const char *_Command)반환 값 int형이고 성공은 0, 실패는 -1을 리턴합니다.명령 프롬프트(cmd)에 있는 명령어를 쓸 수 있다.콘솔게임 만들 때 system함수에서 자주 쓰는 명령어들(화면 전체 지우기, 콘솔 화면 크기 변경, 타이틀 변경 등이 있습니다.)system("pause"); // 계속할려면 아무키나 누르시오.... 가 뜹니다. (아무키나 안눌르면 getch()같이 계속 입력을 기다림) system("pause > NUL"); // 글자가 뜨지 않는 대신 효력은 system("pause");하고 같습니다. system("cls"); // 화면 전체를 깨끗하게 지워주고 커서를 0,0으로..
콘솔게임 만들때 자주쓰는 함수들 - 1.키 입력에 관한 것
콘솔게임 만들때 자주쓰는 함수들 - 1.키 입력에 관한 것
2017.12.21가상 키코드값을 이용하여 어떤키가 눌렀는지 알아내기(GetAsyncKeyState) - Windows.hSHORT __stdcall GetAsyncKeyState(int vKey)int vKey 파라미터에 가상키 코드 값을 넣어주면 그 키를 눌렸는지의 여부를 True과 false로 반환합니다. 메세지 큐를 거치지 않고 바로 전달해 주기 때문에 게임 프로그래밍에서 매우 유용합니다. 그 중 콘솔 게임 만들때 자주 사용하는 가상키 코드를 소개시켜 드리겠습니다. 정의된 이름 16진수 10진수 설명 VK_LBUTTONDOWN 0x01 1 마우스 왼쪽 버튼 VK_RBUTTONDOWN 0x02 2 마우스 오른쪽 버튼 VK_BACK 0x08 8 Backspace 키 VK_RETURN 0x0D 13 Enter 키 VK_..