Features Highlights: Open Source! GPLv3, no hidden costs. Cross-platform. Runs on Linux, Mac, Windows (uses wxWidgets). Written in C++. No interpreted languages or proprietary libs needed. Extensible through plugins Compiler: Multiple compiler support: GCC (MingW / GNU GCC) MSVC++ clang Digital Mars Borland C++ 5.5 Open Watcom ...and more Very fast custom build system (no makefiles needed) Suppo..
이 글은, c++을 기반으로 작성되었지만 예외 처리 기능 (try-catch, try-except 등)을 가진 모든 언어에 적용 되는 내용입니다. 파일에서 데이터를 읽는 코드를 작성해봅시다. c++로 작성해보겠습니다. int _tmain(int argc, _TCHAR* argv[]) { FILE* fp; fp = fopen("test.bin", "rb"); if(fp == NULL) { // 예외 처리 return 1; } char buffer[512] = {0, }; fread(buffer, 512, 1, fp); return 0; } 대부분 위 코드처럼 작성하게 됩니다. 위 코드에서 누락된 예외처리 발견하신분? 예. 바로 fread 부분입니다. 항목이 읽히지 않았을 때, fread는 0을 리턴하고, ..
http://msdn.microsoft.com/en-us/library/aa272889%28v=VS.60%29.aspx Routine MappingsVisual Studio 6.0This topic has not yet been ratedThe generic-text routine mappings are defined in TCHAR.H. _tccpy and _tclen map to functions in the MBCS model; they are mapped to macros or inline functions in the SBCS and Unicode models for completeness. For information on a generic text routine, see the help to..
struct CHAR_COLLECTION_DATA { int CharID; int Value; int ValueCode; }; CHAR_COLLECTION_DATA CollectionData = {m_CharID, m_Value, m_ValueCode }; 이런 코드가 있었다. 기능을 추가 하시려다보니 습관적으로 struct CHAR_COLLECTION_DATA { int CharID; int ClassID; // 다른 변수를 중간에 추가함. int Value; int ValueCode; }; CHAR_COLLECTION_DATA CollectionData = {m_CharID, m_Value, m_ValueCode }; 같은 코드고 컴파일 오류도 없지만 원래 코드와 다르게, CharID, Value, ..
Ten C++11 Features Every C++ Developer Should Usehttp://www.codeproject.com/Articles/570638/Ten-Cplusplus11-Features-Every-Cplusplus-Developer 위 article을 간략하게 요약해봤습니다. 1. AutoAuto는 C++ 0x에서도 주요 Feature였죠.컴파일 타임 타입 유추 기능입니다.일반적으로 typedef 해서 자료형을 정의해두고, iterator, value_type 등을 사용해야 했던 번거로움을 한번에 날릴 수 있는 좋은 기능이죠. 2. nullptrNULL을 대체하는 type 타입입니다.NULL이 ((void*)0)이나 0으로 define 되어있는 점을 감안 했을 때, type 검사가..
제가 SmartPointer를 이해하고 사용하는 방식은 다음과 같습니다. unique_ptr auto_ptr의 리네이밍 버전이죠. 포인터 소유권을 한 인스턴스에게 보장 시키기 위한 개념입니다. 소유자가 명확하기 때문에, native-ptr에서의 소유권 개념이 모호해질 수 있는 문제를 해결합니다. shared_ptr smart_ptr의 리네이밍 버전이라 볼 수 있습니다. 포인터 소유권을 나누어 갖기 때문에 native-ptr에서의 원본 포인터 소멸로 인한 참조 오류를 해결합니다. dangling-ptr이 되는 문제는 해결하지만, life-cycle이 명확해지지 않는 문제와 상호 참조 오류를 만들곤 합니다. 물론 잘 사용하면 문제가 없지만요. weak_ptr소유권을 갖지 않는 ptr 입니다. shared_p..
윈도우 예외 처리에 대한 정리 개요 윈도우에서 사용가능한 예외 처리로는 C++ 예외 처리와, SEH (Structured Exception Handling) 이 있습니다. 일반적으로 SEH(Structured Exception Handling)이라고 말하면 Windows 자체적으로 지원하는 구조적 예외 처리를 의미합니다. (관련 키워드 : __try, __except, __finally, __leave) 그리고 C++ Exception Handling (이하 C++ EH) 라 하면 C++ 에서 정의하고 있는 구조적 예외 처리를 의미합니다. (관련 키워드 : try, catch, throw) 두 예외 처리 방식에 대해 간단히 설명드리겠습니다. SEH 사용 예제 __try { int a = 500; int ..
char* GetStr() { static char szStr[] = "Hello"; return szStr; } void PrintStr(char **str) { printf("%s",*str); } int main(int argc, char **arv) { PrintStr(&GetStr()); return 0; } 위 코드는 아래와 같은 컴파일 에러를 발생시킨다. error C2102: '&' requires l-value 컴파일러의 에러는, l-value. 즉, 어딘가에 저장된 값에만 주소 연산자를 사용할 수 있다는 말이다. 내가 이 코드를 작성한 의도는 char형 포인터의 포인터 (이중 포인터)를 매개 변수로 받는 PrintStr함수의 매개변수로, char형 포인터를 반환하는 GetStr함수의 반..
- Total
- Today
- Yesterday
- EzShortcut
- TraceRoute
- 좋은 프로그래머
- MS-SQL
- ruby
- SDL
- TDD
- RoR
- svn
- CppSQLite
- 루비
- 멀티스레드
- EasyExec
- Ruby on Rails
- 디버깅
- 엘키
- SQLite Spy
- 리버스 엔지니어링
- 조엘 온 소프트웨어
- 루비 온 레일즈
- c언어
- 디자인 패턴
- 게임개발포에버
- NDC2013
- 게임데브포에버
- 임백준
- ftp
- 바로가기 프로그램
- perfmon
- Rails
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |