tag:blogger.com,1999:blog-5658875299583317256.post4287532904403845765..comments2023-09-10T07:27:22.933-07:00Comments on Sunrise Programmer: Issues with LIB files (a riff on Raymond Chen)Sunrise Programmerhttp://www.blogger.com/profile/13913977215970825042noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5658875299583317256.post-69485340077276243812009-01-11T08:08:00.000-08:002009-01-11T08:08:00.000-08:00Re: Raymond:Regretfully, not everything is in the ...Re: Raymond:<BR/>Regretfully, not everything is in the name mangling -- for example, I can't make a /debug and /nodebug version of an OBJ file, put them both into a LIB file and expect the linker to sort everything out.<BR/><BR/>There are a lot of very irritating ways of compiling two files that aren't actually compatible with each other (for example: if one file uses the C RTL statically and the other as as DLL). The linker actually tracks these, but instead of producing a useful message merely says, "sorry: some of your files aren't compatible".<BR/><BR/>And for fuzzy matching -- that would, of course, only be for the diagnostics. Obviously if the signatures don't match then the functions aren't actually compatible (except in rare cases)Sunrise Programmerhttps://www.blogger.com/profile/13913977215970825042noreply@blogger.comtag:blogger.com,1999:blog-5658875299583317256.post-12981644397727835532009-01-07T13:41:00.000-08:002009-01-07T13:41:00.000-08:001. Fuzzy matching would be even worse! Your progra...1. Fuzzy matching would be even worse! Your program links and then crashes (because the calling convention doesn't match or because you passed the wrong number of parameters).<BR/><BR/>2. The linker does keep that information --- in the decoration!<BR/><BR/>3. You can do that today, just throw all the obj's into one giant library. As long as the different versions are differently decorated, you're good.Anonymousnoreply@blogger.com