I am looking into porting a Windows app to UNIX. It consists of an executable and several dlls. I assume that the dlls will be compiled as shared libraries. How do I specify which functions in the shared libraries are 'exported', i.e. made available to the the executable and other dlls.