Quote Originally Posted by dwks View Post
Actually, in C if you declare a function prototype's argument list as (), this means "I don't know and I don't care what the argument list is", which is different from saying (void), which means "This function takes no parameters". And in C's case the code will still compile and link either way, since name-mangling doesn't occur (the symbol name will be the same regardless of which arguments the function takes).
Depending on the compiler and the call options (how many input parameters are register based), you get name mangling in C as well (usually the name is suffixed by @xx, where xx is the number of parameter bytes pushed onto the stack). I sometimes combine assembly and C, and to get the names, I have the compiler generate assembly code for the C code to get the function names.