본문 바로가기

프로그래밍

간만의 공부글 warning 을 지워보자 중복 정의, 미사용 변수, 변수간 타입의 차이에 의한 경고문 등.. 프로그래밍을 하다보면 으레 이런 경고문들이 뜨게 마련이다. 프로그램 자체에는 영향을 주지 않는데 왠지 보이는게 꺼림찍 하다면 아래와 같은 방법으로 컴파일 시 경고문구가 뜨지 않게 하는것은 어떨까.[물론 왜 가렸는지는 주석을 통해서 알 수 있게 해야한다.] #pragma warning(push) #pragma warning(disable: 4018) 불라불라불라 warning 이 뜨게되는 코드들 #pragma warning(pop) 을 하면 컴파일 시에 위의 번호에 해당하는 경고문구가 뜨지 않게된다. 그러하다고 합니다. 데굴데굴. 만들어놓고 나중에 쓸 예정인 변수라던가. = 을 통한 타입이 다른 값의 대입 등에 쓰면 좋을 듯. 더보기
프로그래밍의 신묘함 1. 버그를 발견한다 2. 버그를 해결한다 3. 디버깅을 해본다 4. 새로운 버그 등장. 5. 다음장.. 망할.. 결국 하루종일 버그난것 고치느라 작업 진행이 안됨... 으 뻐킹. 고작 병특하면서 라고 생각할 수도 있지만. 이게 과연 내 [천직]인지 의심스러워지곤 한다. 뭐 내가 좋아서 하는 길이긴 하다만.. 더보기
어처구니 없는 실수 회사일 도중 어처구니 없는 실수가 있어서 적는 글. 혼자 제작중인 프로그램에서 파일의 내용을 구조체로 저장하고 구조체를 변환하여 다른 타입의 구조체로 구성된 파일로 저장하는 프로그램을 만들고 있다. 이름을 바꾸는데 TCHAR에서 BYTE로 바꿀때엔 함수를 여럿 사용한 반면 타 프로그램의 원문을 보니 BYTE에서 TCHAR로 바꾸는 것은 그냥 대입하면 되었기에 그대로 실행하는데 계속 다른값이 저장되는 것이다. 6시간동안 헤메다가 아무리 해도 값이 안바뀌어서 저장값들을 다 지워버리고 해도 그대로 박히길래 뭔가 이상한걸 눈치챘고.. 원인은 바로 file.Write의 매개변수값에 있었다. 해당 구조체와 구조체 타입을 다른 구조체로 집어넣었기 때문이었다. 아. 멘붕. 그걸 고치니 바로 정상적으로 작동하기 시작하였.. 더보기
계산기 만들기 프로젝트 - 일단 완료 6. C버튼 처리를 넣어준다. void CCALCDlg::OnBnClickedClear() { mS = "";//초기화 m_sub = 0; UpdateData(false);//변경된 변수값을 화면에 적용. } //화면내용 나타내주는 변수를 초기화 하고 변경된 값을 화면 출력으로 보냄. //저장된 다른 앞의 항도 초기화해줌. 7. 4개의 사칙연산에 따른 코드 작성. void CCALCDlg::OnBnClickedPlus() { m_sub = _tstoi(mS); m_Newsub = 1; mS = ""; UpdateData(false); } void CCALCDlg::OnBnClickedMinus() { m_sub = _tstoi(mS); m_Newsub = 2; mS = ""; UpdateData(fals.. 더보기
계산기 만들기 프로젝트 1. 외형을 짠다. 2. 외형에 맞는 아이콘별 아이디로 바꾸어준다. 3. 변수를 지정해준다. 여기까지 진행한 후의 스샷. 왼쪽은 미출력. 4. 각 숫자 버튼에 따른 클릭시에 숫자 추가하는 이벤트를 넣어준다. public: CString mS; afx_msg void OnBnClickedNumber0(); afx_msg void OnBnClickedNumber1(); afx_msg void OnBnClickedNumber2(); afx_msg void OnBnClickedNumber3(); afx_msg void OnBnClickedNumber4(); afx_msg void OnBnClickedNumber5(); afx_msg void OnBnClickedNumber6(); afx_msg void OnBn.. 더보기