전체 글
Language & API/C++
2015. 6. 23.
Mutex 관련 내용
CreateMutex 함수 SyntaxC++HANDLE WINAPI CreateMutex( _In_opt_ LPSECURITY_ATTRIBUTES lpMutexAttributes, _In_ BOOL bInitialOwner, _In_opt_ LPCTSTR lpName ); ParameterslpMutexAttributes [in, optional]: 보안 속성 지정, 핸들 상속 여부 bInitialOwner [in]: 뮤텍스는 뮤텍스 오브젝트를 생성하는 쓰레드에게 기회를 먼저 줄수 있다. 먼저 차지하는 사람이 임자가 되는 값은 FALSE => waitForSingleObject 뮤텍스 획득 용도뮤텍스를 생성하는 쓰레드가 먼저 기회를 얻는 TRUElpName [in, optional]: 뮤텍스 이름이다. ..
Language & API/C
2015. 6. 19.
define 매크로 ##연산자
토큰 붙여넣기 연산자 (##)int token10 = 1; #define paster(t) printf_s( "token" #t " = %d", token##t ) paster(10); 결과 : token10 = 1 위와 같은 define이 되어있으면 paster 넣어야 할 값은 상수를 넣어야 한다. 만약 변수를 넣으면 어떻게 될까? 위 소스를 예를 들어 아래 소스를 재구성 해보자. int test_int =10; paster(test_int); 이러면 define 부분에 printf_s( "token" #10 " = %d", token##10 ) 이 되는게 아니다. 결과는 printf_s( "token" #test_int " = %d", token##test_int ) 가 되어 버린다. 이걸 해결하려고..
IDE/C Builder
2015. 6. 9.
e2141 declaration syntax error
특징 : 이슈, Xe8 어느날 클래스를 만드는 중 무의식 적으로 CPP파일을 먼저 만들었다. 그런데 작업 소스가 헤더 파일이어서 급히 ReName을 사용해 cpp-> h 로 변경하였다. 그후 빌드를 해보면 계속 e2141 declaration syntax error 에러가 발생하였다. 온갖 인터넷을 살펴 보았지만 해결 방법은 찾지 못했다. 그러든중 혹시 하는 생각에 New file 에서 h 파일 생성후 작업을 해보았더니 문제가 해결되었다.
Language & API/C++
2015. 6. 7.
함수 오버로딩(Function Overloading)
C++에서 함수 오버로딩을 지원해준다. 함수 오버로딩이랑 간단히 말해 함수이름이 같지만 파라미터가 다른 함수들이 존재 할 수있다는 뜻이다. 예1) int MyFunEx(char c) { ... }; int MyFunEx(int c) { ... }; 예2) int MyFunEx(char c, int a) { ...}; int MyFunEx(int a) { ... }; 하지만 아래는 컴파일 오류를 발생시킨다. 즉 리턴값이 다를 경우.. int MyFunEx(char c) { ... }; void MyFunEx(char c) { ... };
IDE/Visual Studio
2015. 6. 3.
sdf 파일 및 ipch 폴더 자동 생성 방지
sdf 파일 및 ipch 폴더 자동 생성 방지 특징 : VS2013, c++ VS에서 c++프로젝트를 만들면 sdf 파일과 ipch폴더가 자동으로 생성됩니다. 방지 옵션 설정을 위해 VS 메뉴 화면 -> 도구 -> 텍스트편집기 -> C/C++ -> 고급 -> 대체(fallback) 위치 에 있는 옵션을 변경 하면됩니다. 아래 처럼 변경 합니다. VS를 종료 후 아래 sdf 파일 및 ipch폴더를 삭제하면 됩니다. 다시 VS를 실행시키면 대체 위치 지정한 경로로 저장이 됩니다.
BLOG/Tistory
2015. 6. 2.
티스토리에 SyntaxHighlighter 사용해서 소스 코드 꾸미기
티소토리에 SyntaxHighlighter 사용하기 특징 : 소스 코드 보기가 편하다. 다시 편집하면 깨진다. SyntaxHighlighter 는 아래 에서 다운 받으면 됩니다. http://alexgorbatchev.com/SyntaxHighlighter/download/ 다운을 받고 압축을 풀어보면 아래와 같은 폴더가 나오는데 Styles 폴더와 Scripts 폴더에 있는 파일을 추가 시켜 주면 됩니다. 참고로 크롬에서 추가 버튼이 안눌러져서 익스플로러에서 작업을 진행 했습니다. 추가는 폴더형식의 저장이 아니라 파일을 그냥 드래그 해서 넣는 형태입니다 파일을 추가 한후 HTML/CSS 탭에 들어온후 아래 코드를 넣습니다. 아래 src 경로가 ./images 입니다. Textarea 를 사용하려면 위 ..
Language & API/C++
2015. 6. 2.
<iostream>
#include 특징 : 출력 스트림, 공부목적, VS2013 -> 템플릿 ->Visual C++ -> Win32 -> Win32 콘솔 응용 프로그램 토대로 작성 C의 경우와 같이, C++은 기본 입력/출력 기능을 제공하지 않습니다. 하지만, 모든 C++ 컴파일러는 iostream class 라고 알려진 체계적이고 객체지향적인 I/O 패키지를 기본으로 제공합니다. 가장 중요한 세가지 출력 스트림 중 하나이다. ostream, ofstream, ostringstream iostream은 #include 을 포함하고 있다. iostream에는 아래 표와 같은 Object가 있다. ** iostream 아래 __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 istream cin, *_P..