C# vs C++ DLL Files


Deploying and compiling against a C++ DLL can be an exercise in frustration. This video makes you appreciate the convenience that .NET assembly metadata provides in referencing and deploying a .NET application.



  1. Really appreciate your telling things by a great comparision…Because most C# programmers are C++ programmers previously…

  2. I freaked out the first time I saw you use "void main()", or "std::endl;"….or "using namespace std", but just hoped you did it for the non-C++ people…..right?

  3. Very good.   First time I've watched one of yours, and will watch more.  Two questions: Why do you use the command line compiler and linker rather than build from Studio's project menu?  (I must say your method seems much more straight forward).  And have you done a tutorial showing what it would take to call into a C++ class written as unmanaged from a Windows Form App (.net/managed)?  I think I would understand it if you presented it 🙂

  4. +1 for that idea, I'm sure many of us would learn a good deal from something like that (and I concur with the rest, too: just started watching, already love this channel, and going to continue until I absorb all there is here ^.^).

  5. Dude, I watched only a few of your videos so far and promised myself to watch all the others. Like your style a lot. Great job! I am wondering if you could make a video about reverse engineering an EXE that does a very simple thing (may be makes a cow say moo) on a typical PC all the way back to the approximate, humanly readable source code. Or if intending to do such a thing would be silly, could you shed some light on the involved complexities. Thanks a ton & peace!

  6. You are correct. However, in this video, I am doing unmanaged C++ (non-.NET C++, C++ that existed long before .NET). Comparing a managed C++ to C# would be rather boring because they both produce .NET assemblies. However, comparing unmanaged C++ to a .NET assembly is very interesting because unmanaged C++ generates native machine instructions, whereas C# (and managed C++) make .NET assemblies, which then need to be just-in-time compiled to actually execute on the native CPU. Good question!

  7. If you're confused, that's probably good. .NET got right what C++ did so wrong, but there are historical reasons to why C++ is the way it is. I'm not hoping to teach everything there is about C++ compilation in a single video. I do have videos on that if you want to watch them though.

    But cl compiles only the cpp file. The header file is copy-pasted into the CPP file by the preprocessor via the #include instruction in the cpp file.


Please enter your comment!
Please enter your name here