RE:Llamada a funcion en otro archivo
El otro archivo tiene que estar compilado en forma de .o o de librería (.lib o .dll). Tiene que tener además un fichero .h asociado o, al menos, saberte como es el prototipo de la función a la que quieres llamar.
Si tiene un .h asociado, basta que en tu programa hagas el include de dicho .h y al compilar (en el linkado) añadas el .o, el .dll o el .lib que contiene la función.
Si no tiene .h asociado, debes poner en tu programa el prototipo de la función precedido de extern, por ejemplo
extern int funcion (char);
y en el compilado/linkado hacer igual que antes.
Se bueno.