Borland C++ 코드를 C#, 으로 마이그레이션해야하는 프로젝트를 실행해야하는데 코드의 원활한 마이그레이션을 위해 따라야 할 중요한 단계는 무엇입니까? 및 모든 종류의 팁과 요령을 제안하십시오.C#으로 Borland C++ 마이그레이션하기
답변
사실은 완전히 다시 작성한다는 의미입니다. 내가 너라면 C# 대신 CLI/CLI를 사용해 보겠다. 이렇게하면 코드를 실수로 점진적으로 다시 작성하여 관리 코드로 변환 할 수 있습니다. 당신은 C# 또는 C++/CLI로 마이그레이션 어떠했는지
것들, 고려해야 할 :
- 깨끗한 인터페이스 모듈에 소프트웨어를 분할 (n 계층 아키텍처를 사용하여, MVC, ...). 각 파티션이 COM 개체 인 경우 .NET에서 COM 개체를 사용하고 파트 만 마이그레이션 할 수도 있습니다.
- 당신이 포인터를 사용하여 위치를 결정하고 RAII-개체를 사용하여 위치를
- 확인 ++ C에서이 코드를 변환하는 방법을 확인하고 찾기가 의존하는 라이브러리를 확인하고 당신이 .NET에 장착 할 수있는 방법을 확인 .NET에서 동일한 결과를 얻는 방법.
어떤 유형의 프로그램을 마이그레이션 할 것인지 그리고 어떤 이유인지 알 수 없기 때문에 자세한 조언을 드릴 수 없습니다.
실제로 코드를 마이그레이션하지는 않습니까? 그렇습니다. 당신이하는 일은 근본적으로 언어 a (이 경우 C++)가 언어 b (C#)로 존재하는 시스템을 다시 작성하는 것입니다. 이 두 언어는 쉽게 기계적인 변환을 용이하게하는 공통점이 없습니다 (C# < -> 자바는 기계적으로 번역하기가 훨씬 쉽습니다). 그리고 C++ 코드가 얼마나 현대적인지에 따라 일부 이디엄을 번역하지 못할 수도 있습니다 직접.
합리적인 규모의 프로젝트에 대한 나의 접근 방식은 텍스트를 쉽게 처리 할 수있는 언어로 "크로스 컴파일러"를 작성하는 것입니다 (전회 루비를 사용했습니다). 이 교차 컴파일러는 코드의 약 80 %를 대상 언어에서 거의 편집 가능한 것으로 기계적으로 변환 할 수 있어야합니다. 또한 기존 코드를 가져 와서 C#에서 기능적으로 동일한 코드를 작성해야하기 때문에 프로그래머에게 많은 관심을 필요로하는 코드 영역을 식별 할 수 있습니다. 이 번역 도구의 경우 헤더 파일과 구현 파일에서 필요한 코드 비트를 함께 가져올 수있는 코드를 작성해야 함을 잊지 마십시오. C++ 코드가 얼마나 잘 조직화되어 있는가에 따라 이것은 사소한 작업입니다.
.NET으로 이동하려는 경우 C++/CLI을 사용해보십시오. C#으로 옮기고 싶다면 자동화 된 마이그레이션 경로를 사용하지 말고 C++/CLI로 옮긴 후 C#에서 새로운 개발을 수행하고 기존 코드를 C++에서 C#으로 옮길 계획을 세우십시오. 시간이 지남에 따라 변경된 사항을 검증하는 강력한 테스트 환경.
그러나 big-bang 마이그레이션을 수행하기 만하면 C++/CLI로 포팅하여 관리되는 어셈블리를 만들고 disassmble-IL-to-C# 도구 중 하나를 사용하여 프로세스를 자동화 할 수 있습니다. 나는 그것을하는 것에 강하게 반대한다 - 그러나 나의 것이 아니라 당신의 시간과 프로젝트이다.
- 1. C++ textfile borland
- 2. Borland C++ Builder 컴파일 오류
- 3. Borland C++ v5.5 설치 절차
- 4. VSS에서 SVN으로 마이그레이션하기
- 5. Borland C++ 메소드를 C#에 노출 시키십시오.
- 6. sqlite를 Borland C++ Builder와 함께 사용하는 방법
- 7. 이전 Borland C에서 Visual C++ DLL을 사용합니까?
- 8. 명령 줄에서 .bpk를 Borland C++ Builder에 설치하십시오.
- 9. Borland C++ Builder 6의 키 입력 대체
- 10. Windows Borland C++ Builder의 서브 클래 싱
- 11. C++ Borland Builder 6 SQL 쿼리
- 12. cg16.lib라는 Borland C++ 라이브러리가 필사적으로 필요합니다.
- 13. Joomla에서 Django로 사용자 계정 마이그레이션하기
- 14. Visual C++ 포트에서 Borland C++ Builder 로의 ActiveX 코드
- 15. borland C++를 Visual C++로 변환하는 코드 변환 도구
- 16. 이전 Borland C++에서 Visual C++ Express로 마이그레이션
- 17. Old Borland Chess WebService help
- 18. 업그레이드시 내장 된 장고 모델 마이그레이션하기
- 19. 삽입을 사용하여 SQL 서버에서 mysql으로 데이터 마이그레이션하기
- 20. Borland Starteam 잘못된 파일 상태
- 21. 어떻게 indy.bpi에서 indy60.bpi로 Borland 6 C++ 프로젝트를 업데이트 하시겠습니까?
- 22. WORD PTR 및 문자열에 대한 Borland C++ 인라인 asm 문제
- 23. Borland C++ 응용 프로그램에서 HTMLHelp (.chm) 파일을 여는 방법
- 24. Borland C++에서 NaN을 사용하여 숫자를 초기화하는 방법은 무엇입니까?
- 25. Borland C++ Builder 6에서 Microsoft Visual C로 DLL 코드 포팅
- 26. 어떻게하면 TUDPSocket을 Borland C++ Builder에서 사용할 수 있습니까?
- 27. borland C++ builder 패키지와 함께 exe 파일을 만드는 방법
- 28. Borland C++ 빌더 용 코드를 Linux로 어떻게 포트합니까?
- 29. Borland C++ Builder 5.0에서 STL 응용 프로그램 빌드
- 30. 추가 된 라이브러리; 이유없이 Borland C++ Builder가 멈 춥니 다.
고맙습니다 Tobias ... 방광 스캔을위한 이미지 처리 프로젝트 및 C#에서 전체 코드를 다시 작성하는 클라이언트 아이디어 C++/CLI는 더 나은 옵션으로 보입니다 –
그런 다음 C#에서 GUI를 수행하고 가능한 많은 코드를 재사용하는 C++ \ CLI. 이렇게하면 빠르게 작동하는 응용 프로그램을 얻을 수 있습니다. 그런 다음 다른 부분을 관리되는 코드로 변형 할 수 있습니다. Borland를 사용하면 Borland-Controls를 사용하고 Windows는 사용하지 않기 때문에 GUI를 다시 작성해야합니다. –