If you are planning on fully supporting Linux, and you write in C or C++, you will need to write versions for both OS (due to differences in system calls and such). If it is a very simple DLL, however, it will probably compile as-is on either OS. If you write in .NET, there is the possibility of some inconsistencies, but if the framework implementation is written well, the code should compile. It's up to you.