The C standard libraries contain functions that /must/ be provided by C implementations in order for them to be ANSI-compliant. So, if you're writing code that uses /only/ standard library functions and not compiler specific extensions and your code conforms to the standard (e.g. doesn't do stuff like fflush(stdin)), you can expect your code to compile and run unchanged basically anywhere.
DLLs are specific to Windows and the functions that you find in them make up the Windows API -- they were written to facillitate interaction between the programmer and the /Windows/ OS, therefore you can't expect to find any of these functions on other operating environments and, in fact, many of them would be meaningless in contexts outside of Windows.
Actually you can not compare Standard libraries and Dynamically link libraries. Because when we are talking about Standard libraries we are talking about OS independent library and the other one will be OS specific (and rbobbitt/Russ perfectly describe the difference), but both of them can be statically link "*.a" or dynamically link "*.so" (for Unix) or "*.lib" and "*.dll" (for Windows).
And *.h files is not a libraries. They are just a header files. These files can be corresponded to both dynamic or static libraries.
Hope this will make things clear.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.