분류 전체보기 (7) 썸네일형 리스트형 비주얼 스튜디오 빌드환경 세팅 나는 지금까지는 리눅스나 유닉스 환경에서 Makefile로만 빌드를 해왔다. 맨땅에서 Makefile을 만드려면 몹시 불편하긴 한데, 어차피 전에 만든 Makefile을 복붙해서 수정해가면서 만들기 때문에 그렇게 불편하지는 않았다. 내겐 VS Code와 Makefile 조합이 익숙하다. 그렇지만 계속 이렇게 할 수는 없는 노릇이다. 연습용으로 만든 코드야 고작 수 천 줄 정도의 소규모 프로젝트이고, 특히 윈도우즈 프로그래밍을 하기에는 VS Code와 Makefile 조합이 영 별로다. 이제는 작별해야지ㅠㅠ 그래서 비주얼스튜디오를 써보는 중인데... 비주얼스튜디오는 기능이 너무 많아서 막막하다. 그래서 나같은 사람을 위해 간단한 빌드환경 세팅 방법을 공유해보려고 한다. 기준은 2019버전이며, 여기서 다루.. 윈도우에서 키 입력을 받는 방법 GetAsyncKeyState()를 통해 윈도우에서 키입력을 받는 방법을 소개한다. 1. GetAsyncKeyState() 요약 함수 원형 #include short GetAsyncKeyState(int vKey); 윈도우API이므로 실제 원형은 좀 더 복잡한 모습이지만, 간단하게 표현하면 이렇다. 매개변수 vKey : 눌렸는지 확인하고자 하는 키 ('가상키코드' 값. 아래에서 설명) 반환값 눌렸을 때: 최상위 비트 켜짐 지난 번 함수 호출 이후로 키 눌림: 최하위 비트 켜짐 (하위 버전 호환성을 위한 값이므로 무시할 것) 이 함수는 키보드의 입력 이벤트에 호출되는 콜백함수가 아니고, 호출 시점에서 인자로 받은 키가 눌렸는지 확인하는 함수이다. 예를들어 GetAsyncKeyState(VK_LCONTROL.. C++에서 파일 출력 1. 기본 출력 #include int main() { std::ofstream ofs; ofs.open("filename"); if (ofs.is_open() == false) return 1; ofs VSCode와 WSL 개발 환경 세팅 0. WSL에 컴파일러 설치 WSL 컴파일러는 윈도우즈 컴파일러와 다르다. 그러므로 윈도우즈에 이미 컴파일러가 있더라도, WSL에 별도의 컴파일러를 설치해야 한다. 혹시 WSL 우분투를 방금 막 설치했다면 업데이트를 해서 패키지를 다운받을 곳을 최신화 하자. 그렇지 않으면 종종 실패한다. sudo apt-get update 0.1. 컴파일러 설치 gcc를 설치하려면 아래 명령행을 입력한다. sudo apt-get install gcc 용량이 이만큼 들고, 어쩌고 저쩌고 하고 묻는데, y를 눌러 설치를 시작한다. 다른 컴파일러도 같은 방법으로 설치하면 된다. 0.2. make 설치 sudo apt-get install make 1. VS Code에 WSL 익스텐션 설치 WSL을 설치한 후에 Visual S.. WSL2 설치 방법 WSL을 사용하기 위한 환경은 Windows10이면 된다. Home버전에서도 가능하다. WSL2를 사용하려면 빌드 2004이상 되어야 한다. 정상적으로 업데이트를 해왔다면 신경쓰지 않아도 되는 부분이다. WSL1과 WSL2의 차이는 WSL 2와 WSL 1 비교 | Microsoft Docs에서 확인해 볼 수 있다. 개발공부를 하는 입장에서 도커를 쓴다거나, 리눅스 시스템콜 함수를 써야 한다면 WSL2를 쓴다. 유닉스/리눅스 개발환경 때문에 굳이 맥을 사야겠다면, 사기 전에 한 번 쯤 보면 좋을 것 같다. 설치 순서 요약 설치 순서를 요약하자면... 윈도우즈 기능 켜기/끄기에서 리눅스용 윈도우즈 하위 시스템과 가상머신 플랫폼 활성화 하기 (WSL2를 쓰는 경우) 리눅스 커널 업데이트 패키지 설치 우분투 배.. const에 관하여 0. 도입 다음의 세 가지 변수 선언에 무슨 차이가 있을까? 차이를 잘 모르겠다면 이 글이 도움이 될지도 모른다ㅎㅎ int const * a; int * const b; int const * const c; 거두절미 하고 const에 대해 알아보자 ! 주석처리된 것은 컴파일 오류를 유발하는 코드라인이다. ! 1. 기본 1.1 선언 // const int foo; const int foo = 10; 기본 자료형에 const를 붙이는 경우, 해당 변수는 더이상 수정할 수 없기 때문에 선언과 동시에 초기화 해야 한다. 1.2 데이터 변경 const int foo = 10; // foo = 5; const가 붙은 변수는 당연히 수정이 안 된다. 2. 포인터와 함께 쓰이는 경우 결론부터 말하자면 const 키워드.. 고오급 printf 사용법 C언어로 printf를 배운 후에 다른 언어를 배우면 printf는 개 똥같은 함수라는 생각이 들게 마련입니다. 하지만 막상 write()함수밖에 쓸 수 없는 상황을 겪는다면 생각이 많이 바뀔 것입니다. (대충 다시보니 선녀다 짤방) printf를 못쓰게 하는 부조리를 겪는 사람이 있다구요?? printf의 기초는 다들 잘 아시리라 생각하고, 본론으로 들어가 보겠습니다. 자세한 설명은 리눅스에서 "man 3 printf"로 보실 수 있습니다(영어주의) "%"와 서식지정자 사이에는 여러가지 옵션들이 들어올 수 있는데, 그것들을 어떻게 쓰는지 알아봅시다. %[Flag characters][Field width][.Precision][Length modifier] "[]"는 생략해도 되는 것이고, 는 반드시 .. 이전 1 다음