CSE775 - Distributed Objects

Lecture #18 - C++/CLI, interoperation
between COM, C++, and C#

Revised: 29 Mar 2008
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Lecture #21
Lecture #22 Lecture #23 Lecture #24 Lecture #25 Lecture #26 Lecture #27 Lecture #28

Contents Syllabus

Web Resources:

Code Project Win32, COM, MFC DevelopMentor Windows Developer's Journal Windows Forms GotDotNet C# Corner IDL and WDSL COM at MSDN IDL Language base MIDL types OLE data types IDL attributes MIDL data types MIDL Language Reference conversion functions

Office Hours: Instructor & TAs

Content:

This lecture provides an introduction to managed C++ and the mixing of managed and unmanaged C++. Unmanaged (standard) C++ has a deep copy object model. C++\CLI (managed C++) has a shallow reference model virtually identical to C#'s object model.
  1. The Syllabus describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. Best Project #1s - Jacob Baker, Mike Corely, Sunny Gupta
    There were many excellent submissions. These are especially worth reviewing.
  3. Project #3 Statement
  4. Project #4 Statement
  5. C++/CLI - the new Managed C++
  6. MSDN Tour of C++/CLI
  7. Code Examples - C++/CLI
  8. Passing Function Arguments Demo
  9. Interop with COM
    Demonstrates the use of inproc COM component, ATLDemo7, from a C# client, using both early and late binding.
  10. Bridge from C++ to C#
    Demonstrates use of legacy C++ tokenizer from a C# program.
  11. Attributes Presentation
  12. Attributed ATL Code Demo
  13. Creating Attributes Code Demo
  14. Lecture #17 folder contains a page of links to presentations and code discussed in this class. The Lecture folders will occasionally hold physical files of interest as well. Usually, however, all the materials of interest to the class are in the presentations and code folders. The contents of these folders will grow as you progress through the course.