dotgnu-pnet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pnet-developers] Comparing Portable.NET and Microsoft.NET(part 1)


From: Dmitriy
Subject: [Pnet-developers] Comparing Portable.NET and Microsoft.NET(part 1)
Date: Tue, 6 Apr 2004 17:57:35 +0600

I had compared Portable.NET (framework)(version 0.6.4) and Microsoft.NET
(framework) under windows (using cygwin) and found several
incompatibilities.

Part1 compiler incompatibilities.
cscc is great compiler but has some bugs:
//lib.cs
using System;
namespace A
{
public class PluginLoader {
 public static void Main_dll()
    {
  Console.WriteLine("hi");}
    }
}
//compiling : cscc -out lib.dll lib.cs
//ok

//app.cs
using System;
//namespace A //if comment deleted it will work
//{
class Test { static void Main(string[] args)
  {    A.PluginLoader.Main_dll();}
    }
//}
// compiling : cscc -l lib.dll app.cs
error:
app.cs:6: `A' is not declared in the current scope
app.cs:6: `A' is not declared in the current scope
app.cs:6: invalid left operand to `.'
app.cs:6: called object is not a method or delegate

//compiling using Microsoft: csc -r:lib.dll app.cs
//ok
possible several next bugs is from cygwin:
1) i can't compile to jvm code
PNET\samples\simple>cscc -mjvm hello.cs
      3 [main] cscc 496 handle_exceptions: Exception:
STATUS_ACCESS_VIOLATION
    545 [main] cscc 496 open_stackdumpfile: Dumping stack trace to
cscc.exe.stackdump
Exception: STATUS_ACCESS_VIOLATION at eip=00445B13
eax=00000000 ebx=00000009 ecx=00000000 edx=00000000 esi=101ED2F8
edi=101EE298
ebp=0022EB18 esp=0022EAD0 program=D:\Programs\PNET\bin\cscc.exe
cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023
Stack trace:
Frame     Function  Args
0022EB18  00445B13  (101ED2F8, 00000002, 00000002, 00000002)
0022EB48  004466AC  (101ED2F8, 06000001, 0022EBC0, 610908A0)
0022EC18  0045C454  (101EE298, 00000000, 0022EC98, 0043767F)
0022EC28  004498DF  (101EE298, 00000000, 00004000, 00000096)
0022EC98  0043767F  (100333F8, 101EE298, 10025D80, 00000000)
0022ED08  0043AC69  (100333F8, 101EE1F8, 00000000, 00000000)
0022ED28  0043AE2A  (100333F8, 101ED2F8, 101EDF48, 101ED2F8)
0022ED68  004340ED  (100333F8, 101ED2F8, 101F4850, 000001B6)
0022EDB8  00434395  (100333F8, 10021CB0, 10021E9C, 00000000)
0022EE98  00432CE6  (00000001, 10021DD8, 00000000, 00000000)
0022EED8  0040376D  (10021CC8, 00000001, 00401062, 00000001)
0022EF10  004012F0  (00000003, 100201C8, 100200A8, 00000001)
0022EF80  61005DE0  (0022EF98, FFFFFFFF, 00000000, 00245728)
0022FF90  61005EE5  (00000000, 00000000, 00000000, 00000000)
End of stack trace

2)when cscc create exe file on ntfs file system it sets permission ONLY READ
AND WRITE
and NO execute permission.
so if you try to start exe you'll see "Access Denied."

Can you make wrapper csc tool with same keys as microsoft csc and only for
compiling cs files (as microsoft csc)?
when build string will be same and comparing of compilers will be more
easily


part 2 (in next letter ) about incopatibilities in class system (Emit
namespace).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]