본문 바로가기

프로그래밍/기타

이 프로젝트는 만료되었습니다 라는 메세지가 뜰때 VS에서 빌드할때 종종 뜨는 문구인데, MS의 공식답변은 이렇다. 1. [프로젝트 속성] > [링커] > [디버깅]에서 [디버그 정보 생성] 옵션을 [예(/DEBUG)]로 변경합니다. 2. 솔루션에 실제 존재하지 않는 파일이 포함되어 있는 경우 해당 파일을 찾아 삭제합니다. 3. Windows 시간과 프로젝트 파일 저장 시간이 일치하는지 확인합니다. 만약 일치하지 않는다면 프로젝트 파일을 다시 저장합니다. https://social.msdn.microsoft.com/Forums/ko-KR/168cb27a-f24d-4044-ac71-5f32bb10437f/-?forum=vsko 경험상 2,3번의 경우가 많은듯.. 더보기
Fizz Buzz Test - 프로그래밍 테스트 The "Fizz-Buzz test" is an interview question designed to help filter out the 99.5% of programming job candidates who can't seem to program their way out of a wet paper bag. The text of the programming assignment is as follows: 프로그래밍 인터뷰에서 99.5%를 걸러내기 위한 코딩 문제라고 하는데.. "Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the.. 더보기
MIT 6.00 컴퓨터 공학과 파이썬 오픈 코스 강의 제 01강 - 연산이란 - 데이터 타입, 연산자 및 변수 소개 제 02강 - 연산자와 피연산자 - 분기문, 조건문 그리고 반복문 제 03강 - 공통 코드 패턴, 반복 프로그램 제 04강 - 기능을 통한 분해 및 추상화, 재귀 소개 제 05강 - 부동 소수점, 계통적 명세화, 루트 찾기 제 06강 - 이분법, 뉴턴/랩슨, 그리고 리스트 소개 제 07강 - 리스트와 가변성, 딕셔너리, 의사코드, 그리고 효율성 소개 제 08강 - 복잡성 - 로그, 선형, 이차 방정식, 지수 연산 알고리즘 제 09강 - 이진 탐색, 버블 그리고 분류 선택 제 10강 - 분할 정복 방법, 합병 정렬, 예외 제 11강 - 테스트와 디버깅 제 12강 - 디버깅 추가 강의, 배낭 문제, 동적 프로그래밍 소개 제 13강 - 동적 프로그.. 더보기
닷넷프레임워크 버전확인 방법(.NET Framework Version) 자신의 PC에 설치된 .NET 프레임웍크 버전을 확인 하는 방법은 다음과 같다. 1. dir %windir%\Microsoft.NET\Framework | findstr DIR (콘솔창) 2. %systemroot%\Microsoft.NET\Framework (원도우명령어) 두가지 중 하나를 사용하면 된다. 더보기
WINVER 정의 Minimum system requiredMinimum value for _WIN32_WINNT and WINVERWindows 8.1_WIN32_WINNT_WINBLUE (0x0602)Windows 8_WIN32_WINNT_WIN8 (0x0602)Windows 7_WIN32_WINNT_WIN7 (0x0601)Windows Server 2008_WIN32_WINNT_WS08 (0x0600)Windows Vista_WIN32_WINNT_VISTA (0x0600)Windows Server 2003 with SP1, Windows XP with SP2_WIN32_WINNT_WS03 (0x0502)Windows Server 2003, Windows XP_WIN32_WINNT_WINXP (0x0501)OS 마다 .. 더보기
Visual Studio 버전별 정보 - _MSC_VER 1000 : Visual C++ 4.x (4.0) 1100 : Visual C++ 5 (5.0) 1200 : Visual C++ 6 (6.0) 1300 : Visual C++ .NET (7.0) 1310 : Visual C++ .NET 2003 (7.1) 1400 : Visual C++ .NET 2005 (8.0) 1500 : Visual C++ .NET 2008 (9.0) 1600 : Visual C++ 2010 (10.0) 1700 : Visual C++ 2012 (11.0) 1900 : Visual C++ 2015 (14.0) 괄호안의 숫자는 컴파일러 버전 더보기
Visual Studio Selector 가 잘못된 버전을 실행할때 여러개의 VS 프로그램을 사용하고 있을때.. 예를 들면 VS2010, VS2012, VS2015 설치한 버전이 여러개일 경우, 솔루션파일을 실행하면 Visual Studio Selector 적절한 버전의 VS 프로그램을 가동시켜 준다. 그런데 분명히 2015버전으로 저장한 솔루션파일이 잘못된 버전 예를 들면 2012로 가동되는 경우가 생긴다. 보통 sln파일이 미묘하게 손상되었을 경우 이런 현상이 발생하는데.. 해결책은 간단하다. 원하는 버전으로 실행시킨 다음 sln파일을 살짝 수정하여 재저장하면 해당 버전으로 저장이 된다. 다시 sln파일을 누르면 마지막으로 저장이 되었던 버전으로 로딩이 된다. 끝. 더보기
VS2012 에서 VS2015 마이그레이션(Migration) 현재 개발하고 있는 프로젝트의 vs2012 -> vs2015 마이그레이션은 그다지 어렵지 않았다. 먼저 hashmap 에서 걸리는 부분은 _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS 매크로 추가 back_inserter 인식문제로 헤더 추가 그리고 외부라이브러리 에서 몇개 수정할 필요가 있었는데, 오픈소스인 FreeFont Library를 vs2015에서 빌드하여 static lib 를 다시 만들었다. 그밖에 보안모듈에서는 해당업체에 vs2015버전을 달라고 요청하여 받아 적용. 마지막으로 인라인함수인데.. 헤더 선언부에는 inline 키워드가 없는데, 정의부 cpp에는 키워드가 있는경우 릴리즈에서 링크에러가 발생하여 이부분 수정. 끝. 더보기
Visual Studio 전체프로그램 최적화 vs 최적화 옵션중에 전체프로그램 최적화라는 것이 있다. 한 모듈을 빌드할 때 코드생성을 끝내는 것이 아니라 최종 링크될 때 까지 코드생성을 지연시켜서 최적화 된 빌드를 하는 옵션이다. 이 옵션이 켜지면 각 모듈의 중간파일(obj,lib) 파일의 사이즈가 매우 커지게 된다. 그리고 링크 시간이 더 늘어나고 빌드하는 모듈이 너무 클 경우 빌드가 되지 않는다. LNK1257 같은 에러가 뜨는데 해결방법은 옵션을 켜지 않거나 모듈생성파일을 작게 쪼개야 한다. https://msdn.microsoft.com/ko-kr/library/czw890e0(v=vs.90).aspx 더보기
Visual Studio 2015 마이그레이션(migration) VS 마이그레이션 작업은 프로젝트마다 천자만별이기 때문에 어떤 정형화된 가이드를 안내하기 보다는 경험담으로 봐야 할 것 같다. 여기에서 소개하는 작업은 현재 개발툴중 하나를 vs2005 -> vs2015 의 마이그레이션이다. 참고로 MFC와 DX_SDK를 기반으로 만들어져 있으며 기타 Boost와 같은 외부 라이브러리도 여러개 포함되어 있다. 확실한건 외부 라이브러리가 많이 포함되어 있을수록 마이그레이션 작업이 어렵다. 풀소스가 아닌 정적라이브러인 경우, 해당 라이브러리만 최신 버전을 다운받거나 재빌드 해야하는 경우가 생길 수 있다. Visual Studio 마이그레이션 작업의 경우, 크게 다음과 같이 나눌 수 있을 것 같다. 먼저 상위버전에 호환되는 C++ 표준 변경에 따른 문법 수정 그리고 현재 윈도.. 더보기