yuchi's Development Home


C#이랑 WEB프로젝트만 vs2013을 쓰고 C++프로젝트는 vs2010을 쓰고 있었는데 큰맘먹고 싹 vs2013으로 이전했다. 
OK버튼만 클릭하면 완전 클리하게 될 줄 알았는데 그건 희망사항이고 완전 클린하게 이전은 안된다.
대체로 클릭만으로 끝나지만 asm코드가 섞여있거나 문자 체계가 MBCS인데 MFC 프로젝트라던가, DirectX를 사용했거나 하면 문제가 조금씩 생긴다.

컴파일 해보면 deprecated 경고를 적지 않게 보게 되는데 이게 후달리게 되는 주요 요소중 하나..
PC용 온라인 서비스하는 회사들은 MFC많이 쓸거고 그 중 상당수는 꽤나 레거시 코드로 UNICODE기반이 아닐 것이다. 일단 MFC에서 MBCS지원 안한다는 메시지가 충격과 공포. UNICODE로 바꾸라고 나오는데 VS2013용 MBCS익스텐션 깔면 일단 빌드는 할 수 있다.

GetVersionEx()같은 함수들이 deprecated 되었다고 나옴. 나도 이런 함수 쓰고 싶지 않았는데 XP랑 호환성 땜에 사용했던거다. XP를 날려버리고자 하는 MS의 의지를 읽을 수 있다. 지원 중단안 OS의 API는 이후 컴파일러에서도 사용 못하게 하겠다는...

그 외에 DX SDK랑 충돌하는 문제가 있다.
Windows SDK 8.1에 포함된 DXSDK는 D3DX를 사용하지 않기 때문에 오픈소스로 제공되는 DirectXTex를 사용하던지 기존 SDK에서 D3DX를 꺼내와야됨. DirectXTex는 무척 추천할만한 라이브러리지만 멀쩡히 잘 돌던 프로젝트에서 D3DX를 걷어내고 DirectXTex로 교체한다는게 어떤 의미인지 온라인 게임 유지해본 사람들이라면 잘 알겠지. 
어쨌건 간단한 일은 아니다.
컴파일은 되더라도 Windows SDK 8.1과 DXSDK(june 2010)의 헤더파일이 충돌해서 수많은 warning을 보게 된다. 어찌어찌 하면 피해갈 수 있는데 프로젝트중 한 개는 아직 warniing을 제거하지 못했다.

ML64로 어셈블하던 ASM파일이 어셈블에 실패하기도 하고. 크게 두 가지 문제가 있었는데 PROC,ENDP조합으로 함수를 만들었을때 사용하지 않는 인자가 있으면 에러로 처리한다. vs2010의 ML64에선 잘 넘어갔었다. 
그리고 asm파일이 프로젝트 바깥의 다른 폴더에 존재하는 경우도 어셈블 실패.
상황이 전혀 다르지만 두 경우 모두 asm파일의 프로퍼티에서 Warning Level을 3에서 2로 조정하면 어셈블 된다.

우여곡절 끝에 일단 이전은 완료했는데 무사히 잘 돌아가는지 100% 확신은 못하겠다.

서비스 한달도 안남았는데 이거 잘 하는 짓인건지.
더 늦기전에 해야겠다는 생각 땜에 저지르긴 했는데 자살행위 아닌가 모르겠다.


댓글 '2'

ranma

2014.04.10 17:08:22
*.140.54.150

VS2010,WIN32,C/C++로 개발하고 있습니다.

2013으로 이전할 만한 메리트가 무었이 있을까요?

여치

2014.04.10 18:39:06
*.148.49.27

음..우선 소스컨트롤에서 diff기능이 엄청 좋습니다. 진짜 편합니다. 비교하다가 즉석에서 코드 고칠수도 있고요. 

배열의 경우 vs2013이 sse나 avx를 이용해서 벡터라이즈를 해줍니다. 다소의 성능 향상이 있겠죠.

arm용 코드 빌드가 가능하고요.

인텔리센스가 압도적으로 강력해졌습니다. 귀찮을 정도로 적극적인데요 일단은 2010보다 강력한건 사실입니다.

directx 프로파일링 기능이 있습니다. 이거 꽤 괜찮네요.

뭐 대략 이 정도? 

사실 제 경우는 2013이 압도적으로 좋아서라기보다 Windows Store App으로도 출시할 계획이기 때문에 그 준비 단계라고 볼 수 있네요.

2013으로 이전하는걸 강력하게 권장하는건 아니지만 언젠가 해야될거 빨리 하는게 낫지 않을까 생각합니다.

파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet



XE Login

天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet