Zapewne chodzi o to o czym _13th_Dragon pisze, czyli o dodatkowe dekoracje.
Natomiast sam underscore nie wystarczy, chyba, że dodasz "C" przy deklaracji:
[code]
extern "C" double sumuj (double liczba1, double liczba2);
[/code]
Dodam jeszcze, że ten underscore to nie cecha C/C++, tylko kompilatorów pod Windowsem. W środowiskach typu GNU/Linux tego underscore w symbolach się nie dodaje (hmm, ale jeśli mnie pamięć nie myli, to pod OSX już tak).
Natomiast jeśli chcesz koniecznie zadeklarować sumuj w C++ (bez tego "C" tam), to musisz pamiętać o dekoracji symbolu (w C++, z uwagi możliwośc istnienia wielu funkcji o tej samej nazwie, ale z różnymi argumentami, typy argumentów są dodawane do symbolu).
W przypadku MinGW (z którego CB afair korzysta) będzie to:
[code]
__Z5sumujdd
[/code]
Schemat jest prosty:
2x underscore
liczba mówiąca o długości nazwy (w tym wypadku 5)
N znaków będących nazwą
Po czym oznaczenia typów parametrów (w tym wypadku 2x double to po prostu dd)
(przy czym to wszystko zależy od kompilatora - cos tam więcej na wiki o tym jest: https://en.wikipedia.org/wiki/Name_mangling - natomiast imo nie ma się co wczytywać; dużo łatwiej wygenerować plik obiektowy i wrzucić go w objdump albo IDA, i sprawdzić jakiego symbolu oczekuje)