The language you use to create your dlls depends on what your application requirements are. C and C++ are fairly low level languages are used in applications such as hardware software (drivers) and performance intensive applications. On the other hand C# and VB.NET are used for most Microsoft-based business applications.
To determine what language you should use, you should first understand your applications requirements and go from there.
DLL's are not written in any specific language. They contain machine code organized into the common programming "routine" concept, along with a table ("export"/"import"-table) used to map these routines to an application's address space.
Any language can be used to write a DLL, so-long as it's supported. But, by far the most appropiate language to develop them in is C/C++ or Assembly. Or any low-level language.
All current (kernel) DLL's under Window's are written in C (Not C++). Additionally, they are all of the __stdcall calling convention (Parameters are pushed onto the stack left-to-right).
A forum community dedicated to tech experts and enthusiasts. Come join the discussion about articles, computer security, Mac, Microsoft, Linux, hardware, networking, gaming, reviews, accessories, and more!