본문 바로가기

Newbes22

SQLite3 SQL DB 엔진의 주 목적은 SQL문장을 평가 하는 것이다. 그걸 위해서, 개발자는 두 개의 객체에 대해 알 필요가 있다: 1) The database connection object: sqlite3 2) The prepared statement object: sqlite3_stmt 엄격히 따지자면, prepared_statement 객체는 꼭 필요한건 아니긴 하지만 편의를 위해서 wrapper 인터페이스들(sqlite3_exec 또는 sqlite3_get_table등)이 사용될 수 있다. 그래도, prepared statements에 대한 이해는 SQLite를 잘 사용하기 위해선 필수적이다. The database connection과 prepared statement 객체들은 아래에 나열된 C/C+.. 2011. 8. 12.
NDK build error- make: *** No rule to make target 아.... 이 에러 가지고 하루 날린거 생각하면 눈물이 앞을 가린다 (ㅠㅠㅠㅠㅠ). 별 짓을 다해도 안되길래 주변 사람에게 물어보니, 주석에 한글이 있어서 그럴 수도 있다고 하더라. 바로 위와 같이 말이다. 에러는 다음과 같이 떴었는데, 나에게 한글 주석에 대해 알려주신 주변 느님께서 알려주신대로, 주석을 몽.땅 지우고 다시 빌드 ㄱㄱ 아.... 아아ㅠㅠㅠㅠㅠ 빌드가 된다!!!! 이 순간, 별 희안한 데서 삽을 푸고 있었던 제 자신에 대한 분노와, 장시간 나를 괴롭혔던 문제를 풀었다는 희열감이 교차했다(^^). 이후에 다른 사람들과 이 일에 대해서 얘기를 하다보니, NDK의 빌드 시스템은 make를 기반으로 하기 때문에 make에서 유니 코드를 지원하지 않는 것도 동일하지 않느냐고 하는 말도 듣게 되었다.. 2011. 8. 5.
error LNK2005 C++로 정적 라이브러리 땡겨서 코딩하는데, 경로 설정 다해주고 빌드를 누르는 순간! msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) already defined in twitcurl.lib(oauthlib.obj) ??? 이게 뭔 에러여;;; 원인은 구글링 ㄱㄱㄱ로 찾아본 결과 잘 모르겠고, 해결책은 금방 찾을 수 있었다. 해당 프로젝트의 설정을 MDd(Multi-threaded DLL)에서 MTd(Multi-threaded Debug)로 변경한다. 프로젝트 속성 페이지에서 C/C++ .. 2011. 8. 5.
C++0x - rvalue reference <- 위키백과 내용을 번역. 임시값(보통 rvalue라고 불리는 수식의 우측에 오는 값)는 절대 변경이 불가능한 것이었다(C에서 처럼, 그리고 const T& 타입과 분간할 수 없는 것처럼 여겨졌다). 그러나, 임시 값은 몇몇 상황에서는 변경이 가능했고, 심지어 유용한 허점처럼 여겨졌다(Alexandrescu "C++ coding standards" #15를 참고하라). C++0x는 rvalue 참조라 불리며 T&&로 식별되는 새로운 비-상수형 참조 타입을 추가했다. 이 것은 초기화 된 이후에 변경이 가능한 임시값들을 참조 하며, 이는 move문을 사용하기 위한 것이다. 이전 표준에서의 만성적인 성능 문제는, 객체가 값에 의한 전달이 될 때 생기는 암시적으로 발생하는 비용상 불필요한 깊은 복사 때문이었다. 이 문제에 대해 설명하기 .. 2011. 7. 9.