본문 바로가기

[WSL] WSL Ubuntu 18.04 (LTS)에서 apt-get 으로 설치가 되지 않을 때 WSL Ubuntu 18.04 (LTS)에서 apt-get 으로 패키지를 설치하려고 하면 E: Unable to locate package 위와 같은 오류가 발생하는데 sudo apt-get update 한 후 다시 설치하면 된다
[Error] error C2760: syntax error: unexpected token 'identifier', expected 'type specifier' 프로젝트 Properties -> C/C++ -> Language -> Conformance mode를 Yes에서 No로 변경하면 된다. 관련 링크 : https://developercommunity.visualstudio.com/content/problem/185399/error-c2760-in-combaseapih-with-windows-sdk-81-and.html
[Visual Studio] VS2017에 ClangFormat 적용하기 Visual Studio 2017 15.7 부터 ClangFormat이 지원된다.메뉴는 Tools -> Options -> Text Editor -> C/C++ -> Formatting 에 있다.많이 사용되는 애들은 디폴트로 지정할 수 있고 커스텀 파일도 사용할 수 있는 모양이다.Google, Chromium 등의 스타일을 사용한다면 아래 Tabs 옵션을 수정하면 더 정확하게 사용할 수 있다근데 MFC 등 Precompiled Headers 를 기본적으로 사용하는 프로젝트에 Chromium이나 Google 스타일을 적용하면 .cpp/.cc 파일의 가장 상단에 위치해야 하는 #include "stdafx.h" 를 자동으로 조정하여 다른 헤더보다 아래쪽에 위치하게 된다. 이걸 해결하는 방법을 찾아보려고 했는..
[MFC] Dialog 갱신 시 컨트롤 깜빡임 없애기 주기적으로 백그라운드 이미지를 변경해야 할 일이 생겼는데 Invalidate를 했더니 자꾸 컨트롤이 깜빡인다.. 여기저기 물어물어 해답은Invalidate(FALSE)를 호출 / OnEraseBkgnd에서는 FALSE를 반환 / Dialog 속성에서 CLIP_CHILDREN을 체크하면 된다!
[Electron] 파일 선택 창 띄우기(showOpenDialog) # Electron 파일 선택 창 띄우기
[MacOS] OS 업데이트 후 home-brew 등 터미널 명령어 오류(xcrun error) MacOS Mojave로 업데이트 후 homebrew나 git 등 터미널에서 명령어를 사용하면 에러가 난다 이 때는 Xcode command line tool을 설치 또는 업데이트 하면 된다. xcode-select --install
[MYSQL] 외부 접속 허용 (Windows) 환경 서버, 클라이언트 모두 공유기 내부 서버 : Windows 10 클라이언트 : MacOS High Sierra Windows 설정 제어판 > 시스템 및 보안 > Windows Defender 방화벽 > 고급 설정 > 고급 보안이 포함된 Windows Defender 방화벽 > 인바운드 규칙 > 새 규칙 > 포트 > TCP, 3306(mysql 설정한 포트) MYSQL 설정 USE mysql SELECT host, user FROM user; hostuser localhostmysql.sessionlocalhostmysql.syslocalhostroot 위와 같이 root에 접속할 수 있는 host가 localhost만 있는걸 확인할 수 있다. 이를 외부에서도 접속하게 하려면 GRANT ALL PRI..
[c++] 4가지 캐스팅(static_cast, const_cast, reinterpret_cast, dynamic_cast) Casting C++에서 기존 C스타일의 캐스팅을 사용할 수 있지만 C++의 4가지 캐스팅 방법을 사용하는 것이 많은 타입 검사를 해주기 때문에 더 안전하게 사용할 수 있다. const_cast const 변수의 상수 속성을 없앨 때 사용한다. const 속성이 있는 변수는 const 속성을 계속 유지하는게 올바르기 때문에 왠만하면 사용할 일이 없다. void foo(int a) { // blah blah ~~ } const int a = 1; Foo(const_cast(a)); static_cast 가장 일반적인 타입 변환. 런타임 타입 검사는 하지 않는다. 업캐스팅, 다운캐스팅 모두 가능하다. double a = 1.1; int b = static_cast(a); reinterpret_cast C++..