본문 바로가기 메뉴 바로가기

JHB의 삽질 이야기

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

JHB의 삽질 이야기

검색하기 폼
  • 분류 전체보기 (372)
    • JHB (23)
      • IT 이야기 (4)
      • 잡다한 이야기 (19)
    • Cloud (44)
      • AWS (40)
    • Language (46)
      • C C++ (26)
      • C# (2)
      • Java (1)
      • Python (16)
    • Development (221)
      • Windows (62)
      • Mobile (72)
      • Linux (6)
      • Driver (12)
      • Firmware & HW (3)
      • Algorithm (14)
      • CM&CI&CD (14)
      • Web개발 (8)
      • Container (1)
      • Database (1)
      • Etc (26)
      • Tip (2)
    • MUSIC (17)
      • Listen (12)
      • Compose (5)
    • ETC (20)
      • Public (20)
    • TOOL/FRAMEWORK
      • MFC
      • WPF
      • GIT
    • LANGUAGE
      • C/C++
      • C#
      • Java
      • Python
  • 방명록

C (10)
vector 변수 size() - 1 함부로 쓰지 말 것

vector v; int i = 0; cout

Development/Algorithm 2020. 7. 26. 16:46
l + (r - l) / 2 혹은 start + (end - start) / 2 에 대한 고찰

C++을 사용하다 보면 중간 값을 구하는 연산으로 흔히들 아래와 같이 쓴다 mid = (l + r ) / 2; mid = (left + right) / 2; // 또는 mid = (start + end) / 2;가끔 다른 사람들이 짜 놓은 소스코드를 보면 아래와 같이 돼있는 걸 본적이 있다. mid = l + (r - l) / 2; mid = left + (right - left) / 2; mid = start + (end - start) / 2;수학적으로는 전혀 차이가 없는데 저렇게 나누는 이유는? Overflow 때문이다. 변수들이 int로 선언된 경우, left + right가 INT_MAX를 넘어서는 경우 overflow가 일어나서 원하는 결과대로 수행이 되질 않는다. 따라서 최소한의 방어벽을 치..

Language/C C++ 2020. 7. 26. 12:56
[C++] 2차원 배열의 포인터. 배열은 포인터 상수다.

배열과 포인터가 동치라는 것은 이미 알고 있다. 예를 들어서 a[3]은 *(a+3) 이 되는 것이다. 하지만 다른 점은 배열은 포인터 상수로 선언 된다는 점이다. 즉 * const 이다. 따라서 int a[3]; int b[3]; 이 있을 때, a는 a[3]배열의 시작 주소를 나타내고 b 역시 b[3]배열의 시작 주소를 나타내지만 a = b; 는 할 수 없다. 왜냐면 const이기 때문에!! 해주고 싶다면 int a[3], int *b; 를 하고 b = a; 한다면 이것은 가능하겠다!! 자 이제... 2차원 배열의 포인터는 어떻게 선언할까? 그냥 대충 생각하면 꼭 int a[3][4]; int **p = a; 가 될 것 같이 생겼지만.. 되지 않는다. 왜일까? int a[3][4];로 선언한 이차원 배열..

Language/C C++ 2011. 3. 24. 18:04
Thread 생성에 대한 간략한 코드 이것저것 모음

#include #include #include /*for _beginthreadex, _endthreadex*/ #pragma comment( lib, "ws2_32" ) unsigned WINAPI ThreadFunction(void* arg); int main(int argc, char** argv) { HANDLE hThread; DWORD dwThreadID; hThread = (HANDLE)_beginthreadex(NULL, 0, ThreadFunction, NULL, 0, (unsigned*)&dwThreadID); if(hThread == 0) { puts("_beginthreadex() error"); exit(1); } printf("생성된 쓰레드의 핸들 : %d \n",hThread..

Development/Windows 2009. 2. 10. 13:41
휠 메세지(WM_MOUSEWHEEL)가 안돼요

WM_MOUSEWHEEL은 그냥 선언한다고 되지 않아요. windows.h안의 WM_MOUSEWHEEL부분의 정의를 보면 #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) #define WM_MOUSEWHEEL 0x020A #endif 이렇게 되어있습니다. 따라서 stdafx.h에 보통 선언되어있는 #ifndef _WIN32_WINNT // Windows XP 이상에서만 기능을 사용할 수 있습니다. #define _WIN32_WINNT 0x0501 // 다른 버전의 Windows에 맞도록 적합한 값으로 변경해 주십시오. #endif 이부분에서 WINNT뒤의 값을 잘 조정해야겠지요~~ 보통 default값을 #ifndef WINVER // Windows..

Development/Windows 2009. 1. 6. 13:34
그림 확대/축소가 부드럽게 이루어 지도록 하는 프로그램

제작환경 Visual Studio 2005 C++/Win32 API 그림을 확대/축소할 때 스무스하게 이루어지도록 코딩했습니다. 더블버퍼링 예제로도 도움이 될거에요. 감사합니다. 주요코드 case WM_TIMER: switch(wParam) { case 1: if(nSampleWidth != nDestWidth) { if(bZoomMode) { nCntWidth = abs(nDestWidth - nSampleWidth); nSampleWidth+=(nCntWidth/7); } else { nCntWidth = abs(nDestWidth - nSampleWidth); nSampleWidth-=(nCntWidth/7); } } if(nSampleHeight != nDestHeight) { if(bZoomMo..

Development/Windows 2009. 1. 5. 13:38
구조체 포인터에 관하여

typedef class _cTest{ private: int a; int b; public: void set_a(int i) { a = i; } void print_a() { cout

Language/C C++ 2008. 12. 9. 12:00
미리 컴파일된 헤더 - PCH 에러 해결법

VS(비쥬얼 스튜디오, Visual Studio)사용시 가끔 접할 수 있는 문제.. 엄밀히 말하면 PCH(미리 컴파일된 헤더)는 에러는 아니구요.. 하지만 코딩하다보면 아래와 같은 문장을 가끔 볼 수 있죠. unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source? '#include' statement specified with the /Ycstdafx.h command-line option was not found in the source file 프로젝트를 생성할때 '미리 컴파일된 헤더'에 체크한 기억이 있으세요? 그것땜에 그렇습니다. 미리 컴파..

Language/C C++ 2008. 12. 9. 11:19
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
  • Serverless로 E-Commerce 만들기 ⋯
  • 갑자기 RDS CPU 점유율이 100%를 쳤다.
  • DDB Singletable 디자인
  • AWS CLI v2 에서 명령어 출력이 새 창으로⋯
최근에 달린 댓글
  • 안녕하세요~ GridCtrl 을 사용중이시라면 Ctrl⋯
  • 혹시 스태틱으로 GridCtrl 사용해서 목록이있는 그⋯
  • 헉 안돼서 계속 윈도우로만 했는데 감사합니다 복받으세용
  • 글 잘 읽고 갑니다~
Total
854,742
Today
66
Yesterday
182
링크
  • Kaspyx - Hacking
  • JHB LinkedIn
  • Dive into Deep Learning
TAG
  • database
  • jni
  • kering
  • Visual C++
  • 리눅스
  • Troubleshooting
  • db
  • linux
  • 프로그래밍
  • gcc
  • AWS
  • algorithm
  • it
  • 안드로이드
  • C++
  • Python
  • jni강좌
  • winapi
  • java
  • MFC
  • NDK
  • 드라이버
  • API
  • Quiz
  • Cloud
  • source
  • android
  • driver
  • 음악
  • C
more
«   2023/03   »
일 월 화 수 목 금 토
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
글 보관함
  • 2022/03 (1)
  • 2021/11 (1)
  • 2021/10 (1)
  • 2021/09 (1)
  • 2021/08 (1)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바