Basic4ppc - Windows Mobile Development  

Go Back   Basic4ppc - Windows Mobile Development > Main Category > Questions & Help Needed
Home Register FAQ Members List Search Today's Posts Mark Forums Read

Questions & Help Needed Post any question regarding Basic4ppc.


Hello from a Commodore PET coder


Reply
 
LinkBack Thread Tools Display Modes
  #11 (permalink)  
Old 03-15-2008, 08:13 PM
agraham's Avatar
Basic4ppc Expert
 
Join Date: Jul 2007
Location: Cheshire, UK
Posts: 1,770
Awards Showcase
Beta Tester Forum Contributer 
Total Awards: 2
Default

Quote:
Originally Posted by badkarma View Post
It does compile to EXE for ARM processors I take it (IPAQ rw6815)?... I guess it will say somewhere on the site - will delve a bit more shortly into the docs on the website.
You will need to read up a bit about .the NET Framework to fully understand what is going on.

To be pedantic the IDE compiles/tokenises into byte codes that are interpreted at run time when debugging. There are two compilers, one, the legacy compiler, packages the byte codes with a standalone runtime engine. The other, the optimising compiler, emits C# code that is immediately compiled down to (Microsoft) Intermediate Languange (IL or MSIL) which is assembler code for a virtual (non-existent) processor. The runtime packaged with the legacy is also IL.

All .NET exes and dlls contain code for this virtual machine, not native machine code. This is why exactly the same libraries, and some exes, can function on device (ARM) and desktop (x86). They are not processor dependent. When the exe/dll is run the .NET Framework Just In Time Compiles (JITs) the code into native intructions for execution.

The advantage of .NET is security. The .NET Framework manages a program's memory automatically so that memory leaks for .NET programs are eliminated. It ensures the code executes correctly without overwriting things it shouldn't like addressing beyond buffers and using out of bounds array indexes.

The IDE and legacy compiled apps require .NET Framework version 1.1 on the desktop and Compact Framework 1.0 on the device but will actually run better under the later versions as these are more efficient. Optimised compiled apps require .NET Framework version 2.0 on the desktop and Compact Framework 2.0 on the device. Most libraries will run with either of version of the Framework except for those that offer functionality only available with the later Framework. Different versions of the Frameworks are designed to be able to co-exist side by side on a machine. DLL hell does not exist for .NET programs!

You may gather that I am a .NET and B4PPC fan .NET is the future! Microsoft is deeply committed to .NET for both server and workstation software. A compatible third-party framework called Mono that is free implements .NET under Linux and allows .NET exes and dlls compiled under Windows to run. It is not immediately obvious but Microsofts' new Silverlight executes on a cut down .NET framework.

Last edited by agraham : 03-15-2008 at 08:15 PM.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 02:26 AM.


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.1.0