그래서 첫 번째 CLR 프로젝트를 Visual C++로 시험해보고 싶었습니다. 그래서 콘솔 프로젝트를 만들었지 만 CLR 프로그래밍에 관한 모든 자습서에서는 C# 또는 Windows 양식을 사용하고 있었기 때문에 iostream을 사용하여 standart C++ Hello Word 응용 프로그램을 작성해 보았습니다. (이 경우에는 코드가 필요하지 않습니다) 나 iostream은 미리 컴파일 된 함수를 사용하고 CLR 앱은 MSIL로 컴파일되므로 일부 컴파일 오류가 발생합니다. C++을 사용하는 CLR 프로그래밍은 C++ 구문을 사용한다는 것을 의미하지만 I/O 등의 다른 기능을 사용한다고 가정했습니다. 그래서, 기본적으로, 내가 물어보고 싶은 것은 모든 네이티브 콘솔 C++ 응용 프로그램을 MSIL로 컴파일하고 .NET Framework에서 실행할 수 있습니까?Visual Studio CLR 프로젝트
답변
can any native console C++ app be compiled into MSIL and run by .NET?
대부분의 코드는 예외에 대해 http://msdn.microsoft.com/en-us/library/aa712815.aspx을 볼 수 있습니다.
응용 프로그램은 여전히 원시 코드를 사용합니다. CLR 코드 만 사용되도록하려면/clr : pure도 있습니다.
cout
및 많은 STL을 갖춘 고전적인 C++ 응용 프로그램을 사용하여 관리되는 프로그래밍에 대해 자세히 알아보고 빌드하면 /clr
이라고하면 실망하게 될 것입니다. 유효한 C++ app/clr을 컴파일 할 수 있다고 가정하고 있지만 그 결과가 유용하다는 것을 의미하지는 않습니다. 당신이 그런 식으로 고집한다면 빠른 팁 - 미리 컴파일 된 헤더를 끄십시오.
일종의 콘솔 응용 프로그램에 대한 C# 자습서가 있으면 C++/CLI로 변환 할 수 있습니다. MSDN 문서는 VB, C# 및 C++/CLI에서 일반적으로 예제를 제공하므로 도움이 될 수 있습니다. 그러면 대체 패턴을 매우 빠르게 선택할 수 있습니다. 따라서 C#의 자습서가 Console.WriteLine
인 경우 C++/CLI 버전은 Console::WriteLine
이됩니다. C# 코드에 Employee e = new Employee()
이 있으면 C++/CLI 코드는 Employee^ e = gcnew Employee()
이됩니다. 이 방법을 사용하면 "classic C++"로 시작하고 CLR-ify로 나중에 시도하는 것보다 C++/CLI를 더 빨리 익힐 수 있습니다.
즉, C++/CLI는 콘솔 및 winforms 응용 프로그램을 작성하는 데 실제로 사용되지 않습니다. 그것은 interop을위한 것입니다. 따라서 꽤 빨리 기존의 큰 C++ 라이브러리 (헤더, lib에 대한 링크 포함)를 호출하는 라이브러리를 작성한 다음 VB 또는 C#에서 새 interop 라이브러리를 더 간단하게 사용하는 일부 UI (창, 웹, wcf 등)로 이동하십시오. 이전 C++ 코드의 기능에 대한 액세스. 혹시 그런 의도가 없다면 왜 C++/CLI를 배우고 있습니까?
또한 C++/CLI 서적이 있습니다. 저는 사무실에 여러 권 있습니다.
- 1. Visual Studio 테스트 프로젝트
- 2. visual-studio 프로젝트 설정
- 3. DotNetNuke Visual Studio 프로젝트
- 4. Visual Studio 설치 프로젝트
- 5. Visual Studio 설치 프로젝트
- 6. Visual Studio 설치 프로젝트
- 7. Visual Studio 프로젝트 템플릿
- 8. Visual Studio 프로젝트 템플릿 여러 프로젝트 유형
- 9. Visual Studio 프로젝트 기록 위치?
- 10. Visual Studio 설치 프로젝트 : Cleartype
- 11. Visual Studio 2010 프로젝트 복구
- 12. 여러 폴더가있는 Visual Studio 프로젝트
- 13. Visual Studio : 설치 프로젝트 -! 조건
- 14. Visual Studio 2008 프로젝트 참조
- 15. COM + Visual Studio 설치 프로젝트
- 16. Visual Studio 배포 프로젝트 - CustomActionData
- 17. Visual Studio 웹 프로젝트 통계
- 18. Visual Studio 데이터베이스 프로젝트 디자이너
- 19. Visual Studio 최근 프로젝트 목록
- 20. Visual Studio 2010 프로젝트 파일
- 21. Visual Studio 2008 - DLL이없는 프로젝트
- 22. 코드에서 Visual Studio 프로젝트 작성
- 23. Visual Studio에서 "Win32 프로젝트", "CLR 빈 프로젝트"및 "빈 프로젝트"템플릿의 차이점은 무엇입니까?
- 24. Visual Studio 2008에서 Visual Studio 2010 프로젝트 열기
- 25. 변환하지 않고 Visual Studio 2010의 Visual Studio 2008 프로젝트
- 26. Visual Studio C 성능
- 27. /clr 옵션없이 dll 빌드
- 28. Visual Studio 2008의 .NET 2.0 설치 프로젝트
- 29. Visual Studio 2010 Silverlight 프로젝트 브라우저에서 localhost : //
- 30. Visual Studio 솔루션 탐색기 무작위로 프로젝트 확장
이 경우 컴파일러는 실제로 CLUT에 대한 MSIL 코드에 대한 cout 컴퓨터 코드를 포함하고 있습니까? – Vit
분류. 여기에는 CLR 비트가 직접 호출 할 원시 코드가 포함됩니다. – sblom