Madhuri Shekar wrote:
Can anyone explain me the entire process of a source code getting executed. How CLR works? Wat is metadata? And other basic things about .NET Framework and its components.
That is a lot to explain in one post but I will try to sum it up for you. When you compile your source code, whether it be C#, Visual Basic, F#, JScript.net, or COBOL.NET, it gets compiled down to IL (intermediate language). IL is like the assembly language of your CPU but IL is much more high level. A lot of people say that when you compile your source code that the IL will be the same as if you compiled the same style source code in a different language. This is NOT true. C#, VB.NET, and especially C++/CLI produce slightly different IL. C++/CLI has the ability to aggressively optimize the IL and also do some neat things such as deterministic object deletion. You can imagine a .NET compiler as the front end compilation process of a native C/C++ compiler. The CLR (which contains the Just-In-Time compiler or JIT) as the back end. The CLR will compile the IL into the native code that your processor executes. It will optimize it for YOUR execution environment (CPU, CASH SIZE, OS ...) The JIT of the CLR can produce highly optimized code that can even compete with C++ in some cases. Metadata is a table that describes each and every type in your assembly (your .exe, .dll, or .netmodual). It desribes the name of all your classes, methods, properties, events ect... Metadata allows for a powerful feature called reflection which allows you to discover and execute an unknown type at run time. You can even construct an entire assembly in memory and execute it at runtime! There is a lot of information about the .NET framework and CLR. It is an amazing platform and do not allow the doom and gloomers of managed code get you down. Stay loyal to .NET and its compatible siblings (Mono). You do not want to lag behind of this technology because it is the future and it is a bright future. I highly recommend you get a couple books. CLR via C# is an excellent book and it will broaden your understanding of the inner workings of the .NET framework and the CLR. Although I would not recommend you get it until you get some basic knowledge of .NET and a language compatible with .NET
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒