12월, 2016의 게시물 표시

161231 .net/win32 IPC, dll dependancy 삽질기

이미지
Edit 161231 .net/win32 IPC, dll dependancy 삽질기 황현동 노트북 .net win32 wpf native zmq ipc study blog 161231 .net/win32 IPC, dll dependancy 삽질기 개요 문제점 & 해결책 winxp, win7 경우, MyWpfApp.exe에서 libzmq.dll 연결초기화 실패 winxp, win7 경우, MyMfcApp.exe에서 MyBridge.dll 의 로드실패 win7 경우, vcredist 2015 설치오류 winxp 경우, MyMfcApp.exe에서 MyBridge.dll 로드성공이후 런타임크래시 해결책 정리 디버깅 꿀팁(?) 개요 최근 회사일로 WPF어플리케이션을 제작하고 있는데 외부 MFC어플리케이션 과 IPC를 해야 할일이 있었고, IPC솔루션으로 ZMQ REQ/REP 모델을 적용하기로 했다. WPF어플쪽에서는 ZMQ를 직접사용하기로 하고 MFC어플은 외부에서 만든거라서 그들이 연동하기 쉽게 ZMQ초기화, 입출력과 함께 연동로직들을 일부 담아서 win32 dll로 제작해서 배포했다. 개발했던 환경은 나는 Win10+VS2015+.NET4.0 에서 WPF어플리케이션을 제작하고 그들은 Win7+VS005+MFC 에서 MFC어플리케이션을 제작해으며 처음 연동했을때 한번에 잘 되서 앞으로도 별 문제 없겠거니 했다. 그러다가 XP, 7 하위호환을 위해서 가상머신을 만들어서 테스트하다가 며칠간 삽질을 했고 결국은 해결했지만 그 과정이 험난해서 같은 어려움이 있는 독자들을 위해서 기록으로 남긴다. 회사프로젝트 고유이름을 사용하기는 이슈가 있을것 같아서 본문글에서는 리네임을 하기로 한다. WPF 어플르케이션 = MyWpfApp MFC 어플리케이션 = MyMfcApp 연동 dll = MyBridge.dll 함께 삽질을 했던 서초동 최과장님께 감사를 드린다. 문제

161228 .net+native p/invoke 관련 참고자료

최근에 uwp 어플리케이션에서 win32 dll 과 연동할 일이 있었는데 참고 했던 좋은 자료들... https://www.codeproject.com/articles/403285/p-invoke-tutorial-basics-part https://www.codeproject.com/articles/401922/p-invoke-tutorial-passing-strings-part https://www.codeproject.com/Articles/401921/P-Invoke-Tutorial-Passing-parameters-Partcode      project p/invoke 튜토리얼 시리즈 https://msdn.microsoft.com/ko-kr/library/aa288468(v=vs.71).aspx      msdn p/invoke 튜토리얼 상호 타입변환은 아래와 같음. .net( wpf, uwp, .net ... ) native (win32 dll, exe) 숫자 int, double, long int, double, long 불린 bool bool ansi 문자열(.net -> native) [MarshalAs(UnmanagedType.LPStr)] string [in] const char* 유니코드 문자열(.net -> native) [MarshalAs(UnmanagedType.LPWStr)] string [in] const wchar_t* ansi 문자열(native -> .net) [MarshalAs(UnmanagedType.LPStr)] StringBuilder [out, return] const char* 유니코드 문자열(native -> .net) [MarshalAs(UnmanagedType.LPWStr)] StringBuilder [out, return] const wchar_t

161220 MS Connect 2016 11/16~17 요약

MS Connect 2016 11/16~17 요약       https://info.microsoft.com/AP-Azure-WBNR-FY17-12Dec-07-DeveloperConferenceConnect20161hourmopping276705_02OnDemandRegistration-ForminBody.html aspnetcore-linux       https://www.techempower.com/blog/2016/11/16/framework-benchmarks-round-13/ asp.net core on linux가 techempower 성능테스트에서 49점으로 10위 기록 1위 : libreactor (상용화수준 떨어짐...) 100점 7위 : netty 75점 10위 : aspnetcore-linux 49점, 초당 180만 요청 처리 23위 : nodejs 13점, 초당 60만 요청 처리 순위밖 : php, 초당 4만 요청 처리 xamarin on vs2017 RC       https://blogs.msdn.microsoft.com/visualstudio/2016/11/16/visual-studio-2017-rc/           xamarin이 vs2017 버전에서 개선이 많이 되었음.           특히 이제 design preview 기능이 지원됨                design preview 기능이 안되서 기술투자에 아직 시기상조라고 생각했는데 이제 한번 해볼만할듯...                 https://developer.xamarin.com/guides/xamarin-forms/xaml/xaml-previewer/           ios 시뮬레이터가 윈도우에 들어왔음.                android 에뮬레이터는 원래 있었음.                그래도 심볼파일이랑 빌드바이너리 연결하는 머신이 필요한 부분때문에 맥머신을 t