[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. 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. 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'> </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’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'> </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#. We were quite amazed that it almost executed flawlessly on =
Linux
using Mono. Great work!</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </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. 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++. 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?</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </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. 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’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.</span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span =
style=3D'font-size:10.0pt;
font-family:Arial'> </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'> </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. 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.
It is fairly intensive in file I/O and heavily taxes the GC. 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'> </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'> </span></font></p>
</div>
</body>
</html>
------_=_NextPart_001_01C2CD9B.9A523920--