Копаюсь в одной программе и набрел там на такое:

double fhf2f_ (double *, double *, double *, double *, double *, 
double *, double *, double *, double *, double *,
double *, double *, int *);

double
feynhiggs (double t, double tp)
{
if (res[1] == 0.0)
return fhf2 (tbsv, musv, Mq3sv, Mu3sv, Md3sv, Atsv, Absv, MG2sv, MG3sv,
MH3sv, Mtsv, Mbsv, tp);
return res[(int) floor (tp + 0.1)];
}


Больше упоминаний о функции fhf2f_ в программе нет. То есть декларация функции есть, а тела ее нет. При этом программа нормально линкуется. Однако если выдрать файл с этой функцией и вставить его в другую программу, gcc выдает ошибку.

Поясните, пожалуйста, что это за конструкция такая и почему не работает вне проекта.

Программу можно скачать здесь. Сам файл в архиве - это ./comphep-4.5.1/src/mssmlib/fhf3.c