[Mono-list] MONO: Managed C++ support

Paul I. Reeder paul@reeder.ws
Wed, 5 Feb 2003 22:52:51 -0600


This is a multi-part message in MIME format.

------_=_NextPart_001_01C2CD9B.9A523920
Content-Type: text/plain;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

I am working on an open implementation of the RXP (ReFLEX eXchange
Protocol) protocol.  It uses an ASN.1 (uses Aligned Packed Encoding
Rules) based application layer and a custom envelope based protocol for
Session/Presentation functionality.  It is really split up into multiple
projects:

1. An ASN.1 Cross-Compiler for .NET

2. An ASN.1 Base Class Library

3. The Rxp ASN.1 library (output from the cross-compiler)

4. The TriPP library (the internal name for the Session/Presentation
layer is Trivial Presentation Protocol)

5. The Client Connection library

6. The Server Connection library

=20

When these are done, there is more work in making use of the PDU's that
are delivered between the end points, but this is a good base.

=20

Anyway, the first pass (~October 2002) was written entirely in C#.  We
were quite amazed that it almost executed flawlessly on Linux using
Mono.  Great work!

=20

Then we looked into optimization.  Now, the TriPP library, the ASN.1
Base Class Library, and the output from the Cross-Compiler is mixed
(managed and unmanaged) C++.  Of course, it is sad that by optimizing we
stopped it from running on Linux.  Does anyone know of any plans to
support managed C++ in conjunction with Mono?

=20

I noticed the link for GCC and the LCC information on the Languages page
at the Mono web site.  But I feel that just supporting ANSI C++ isn't
quite enough.  Of course, this could be complicated legally.  MS
published the specification for C#.  Did they publish their extensions
to C++ to support CIL?  I do not know.

=20

Do anyone know of plans to support managed C++?

=20

Thanks for the aid.  I will take an action to compile and execute the
ASN.1 cross-compiler using Mono.  It is fairly intensive in file I/O and
heavily taxes the GC.  Of course, I will post result (especially any
failure points).

=20

Paul Reeder

paul@reeder.ws

=20


------_=_NextPart_001_01C2CD9B.9A523920
Content-Type: text/html;
	charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

<html>

<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">


<meta name=3DGenerator content=3D"Microsoft Word 10 (filtered)">

<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{font-family:Arial;
	color:windowtext;}
@page Section1
	{size:8.5in 11.0in;
	margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
	{page:Section1;}
-->
</style>

</head>

<body lang=3DEN-US link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I am working on an open implementation of the RXP =
(ReFLEX eXchange
Protocol) protocol.&nbsp; It uses an </span></font><font size=3D2 =
face=3DArial><span
 style=3D'font-size:10.0pt;font-family:Arial'>ASN</span></font><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>.1 (uses =
Aligned Packed
Encoding Rules) based application layer and a custom envelope based =
protocol
for Session/Presentation functionality.&nbsp; It is really split up into
multiple projects:</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>1. An </span></font><font size=3D2 face=3DArial><span
 style=3D'font-size:10.0pt;font-family:Arial'>ASN</span></font><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>.1 =
Cross-Compiler
for .</span></font><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
 font-family:Arial'>NET</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>2. An </span></font><font size=3D2 face=3DArial><span
 style=3D'font-size:10.0pt;font-family:Arial'>ASN</span></font><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>.1 Base =
Class Library</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>3. The Rxp </span></font><font size=3D2 =
face=3DArial><span
 style=3D'font-size:10.0pt;font-family:Arial'>ASN</span></font><font =
size=3D2
face=3DArial><span style=3D'font-size:10.0pt;font-family:Arial'>.1 =
library (output
from the cross-compiler)</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>4. The TriPP library (the internal name for the
Session/Presentation layer is Trivial Presentation =
Protocol)</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>5. The Client Connection library</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>6. The Server Connection library</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>When these are done, there is more work in making use =
of the
PDU&#8217;s that are delivered between the end points, but this is a =
good base.</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Anyway, the first pass (~October 2002) was written =
entirely
in C#.&nbsp; We were quite amazed that it almost executed flawlessly on =
Linux
using Mono.&nbsp; Great work!</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Then we looked into optimization.&nbsp; Now, the =
TriPP
library, the </span></font><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
 font-family:Arial'>ASN</span></font><font size=3D2 face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>.1 Base Class Library, and =
the
output from the Cross-Compiler is mixed (managed and unmanaged) =
C++.&nbsp; Of
course, it is sad that by optimizing we stopped it from running on =
Linux.&nbsp;
Does anyone know of any plans to support managed C++ in conjunction with =
Mono?</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>I noticed the link for GCC and the LCC information on =
the
Languages page at the Mono web site.&nbsp; But I feel that just =
supporting </span></font><font
 size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'>ANSI</span></font><font
size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;font-family:Arial'> C++ isn&#8217;t
quite enough.&nbsp; Of course, this could be complicated legally.&nbsp; =
MS
published the specification for C#.&nbsp; Did they publish their =
extensions to
C++ to support CIL?&nbsp; I do not know.</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Do anyone know of plans to support managed =
C++?</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Thanks for the aid.&nbsp; I will take an action to =
compile
and execute the </span></font><font size=3D2 face=3DArial><span =
style=3D'font-size:
 10.0pt;font-family:Arial'>ASN</span></font><font size=3D2 =
face=3DArial><span
style=3D'font-size:10.0pt;font-family:Arial'>.1 cross-compiler using =
Mono.&nbsp;
It is fairly intensive in file I/O and heavily taxes the GC.&nbsp; Of =
course, I
will post result (especially any failure points).</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>Paul Reeder</span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'><a =
href=3D"mailto:paul@reeder.ws">paul@reeder.ws</a></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font></p>

</div>

</body>

</html>

------_=_NextPart_001_01C2CD9B.9A523920--