빌드를 수행했는데 아래 이미지와 같이, 뜨면서 빌드가 안 되는 경우가 있다.이건 메모리가 부족해서 생기는 문제다. 작업 관리자에 가보면 다음과 같이, Visual C++ Language... 프로세스가 여러 개 있는 것을 확인할 수 있다.이걸 그냥 모두 작업 끝내기로 끝내주면 해결된다.
📕Programming
ofstream과 ifstream입출력 스트림으로 파일 입출력도 처리할 수 있다.C언어와 마찬가지로 파일이나 콘솔이나 스트림이라는 측면에서는 동일하기 때문에 비슷한 방법으로 처리할 수 있다.다만, C는 함수에 스트림을 참조해서 사용하는 방면, C++은 스트림 객체 자체에서 처리한다.C 스타일 파일 입출력파일 입출력에 사용되는 클래스는 ofstream과 ifstream이다.ofstream과 ifstream 클래스는 char 타입을 대상으로 하는 파일 입출력 클래스wifstream과 wofstream 클래스는 wchar_t 타입을 대상으로 하는 파일 입출력 클래스이 클래스들은 fstream 헤더 파일에 선언되어 있다. 파일 열기 및 닫기ofstream 객체 file을 선언하고 open 함수로 출력하려..
정적/동적 라이브러리를 사용하면, 여러 프로젝트 간의 빌드 순서를 맞춰줘야 할 때가 있다.예를 들어, DLL 프로젝트를 수정했으면 이 프로젝트를 먼저 빌드해서 lib 파일을 업데이트 해줘야, 이를 사용하는 프로젝트 빌드 시 올바르게 동작할 것이다. 프로젝트 종속성은, B 프로젝트를 먼저 빌드하고 A 프로젝트를 빌드해야할 때, A의 종속성에 B를 추가시키면, A 프로젝트를 빌드하면 자동으로 종속성이 설정된 프로젝트들을 먼저 빌드한 뒤, 자신을 빌드하게 된다. 두 프로젝트가 있다.Engine은 DLL이고, Game은 이를 사용하고 있어서, Engine을 먼저 빌드하고 Game을 빌드해야 한다. 솔루션의 속성으로 간다. Project Dependencies로 가면, 프로젝트들의 종속성을 설정할 수 있다.G..
커밋할 깃 프로젝트 파일로 들어간다.프로젝트 폴더 경로를 누르고 cmd를 입력해서 들어가도 되고, 기본 cmd에서 폴더 경로를 찾아가도 된다. git status를 입력하면 현재 파일들의 커밋 상태를 볼 수 있다.Changes~ 라고 되어있는 파일은 깃허브에 올라간 파일에서 수정된 파일 목록이다.Untracked~ 라고 되어있는 파일은 깃허브에 올라가지 않은, 새로 추가된 파일 목록이다. git add "파일 이름"을 입력하면, 해당 파일을 커밋할 목록에 추가할 수 있다.ConsoleEngine.sln 파일을 커밋 목록에 추가한 후, git status를 입력해 현재 파일들의 커밋 상태를 봤다.ConsoleEngine.sln 파일은 커밋 목록에 올라간 것을 확인할 수 있다. (초록 글씨로 뜸) 근데..
git을 사용하는 데 있어 필수적으로 알아야 할 명령어들로, 새 리포지토리를 생성해 보자. 새 리포지토리를 만들 폴더로 간다.폴더 경로를 클릭해서 cmd를 입력하면, 해당 폴더 경로를 가리키는 cmd 창이 열린다. git init을 입력하면, 이 폴더에 git 저장소를 초기화할 수 있다. 그러면, 다음과 같이 폴더에 .git 파일이 생긴 것을 확인할 수 있다. 다음으로, git 프로필? 설정을 해보자.git config --list를 입력하면, git config를 통해 설정한 모든 내용을 확인할 수 있다. 일단 기본적으로 사용자 이름과 사용자 이메일, git 텍스트 편집기를 설정해 보자. (필자는 이미 설정했다) git config --global user.name "이름"을 입력하면, 사용자 ..
코드가 방대해지면, 어디서 뭘 구현해야 했었는지 까먹을 때가 많다. 이럴 때, 작업 목록(Task List)을 활용해 보자.View -> Task List를 통해 작업 목록을 띄운다. //으로 주석을 만들고, 앞에 Todo 키워드를 붙여주면 다음과 같이 Task List에 표시가 된다.제목 한 줄과, 해당 주석의 프로젝트 이름, 주석이 적힌 파일 이름, 줄까지 세세하게 나온다.더블 클릭하면, 해당 주석을 적은 위치로 이동한다.
파일 열기 및 닫기파일 열기파일에 접근하려면 먼저 파일을 열어야 한다 (File Open).파일을 연다는 것은 파일에 저장된 데이터를 읽고, 쓰기 위한 준비를 한다는 의미를 갖는다.파일의 입출력은 스트림(Stream)으로 처리되는데, 이를 위해서는 파일의 데이터를 임시로 저장하는 내부 버퍼가 필요하며, 파일의 현재 위치(File Position)를 초기화해야 하는데 이러한 일련의 준비 과정이 파일 오픈이다. 파일을 오픈할 때는 fopen_s 함수를 사용한다.첫 번째 파라미터로 입출력에 필요한 FILE 포인터를 전달한다.두 번째 파라미터로 오픈할 파일의 이름(경로 및 확장자 포함)을 전달한다.세 번째 파라미터로 파일을 어떻게 열 것인지를 지정하는 모드를 전달한다.int main(){ FILE* file =..
staticC++에서 static 키워드는 쓰이는 상황에 따라 여러 의미를 갖는다.소스파일(.cpp 파일)에 전역 변수 및 함수를 static으로 선언하면 private의 의미를 갖는다.클래스 멤버 변수를 static으로 선언하면 클래스의 모든 인스턴스가 공유하는 전역 변수의 의미를 갖는다.함수의 지역 변수를 static으로 선언하면 해당 함수가 여러 번 호출되더라도 한 번만 초기화되며 함수 호출 사이의 그 값이 유지된다.소스파일(.cpp)private 변수, 함수클래스 멤버 변수클래스의 모든 인스턴스가 공유함수의 지역 변수한 번만 초기화, 해당 함수가 여러 번 호출되어도 그 값이 유지됨 전역 변수 및 함수의 static전역 변수와 함수에 static 키워드를 추가하면 해당 변수나 함수의 “링크 가능성..