Depends. If the C code is too old, it might not compile or link anymore because of name changes in the eng or mx library. I ran into this when i tried to compile some code from 1992 that supposedly provided a Matlab interface to Mathematica. The reason: it used a datatype called Matrix which has turned out to be mxArray in newer versions of Matlab.