I wrote a very simple Usenet reader which is basically just a Unix application and wanted to turn it into a library so I could port it to Objective-C and Cocoa so I could write a GUI for it. Are there any rules for doing so? I mean a lot of the functions deal with strings and processing the return codes that the server sends. Is there a convention for returning dynamically allocated strings that need to be freed outside of the library for instance or is this considered bad practice? Also, how does one go about performance testing a C library? I guess Instruments would be the tool to use but it wants to attach to a specific process and I have no idea how to go about doing that with a library without basically writing a full featured application first. Any suggestions?