Тут есть два модификатора.
1.
extern "C"
— говорит, что функцию НЕ надо «козявить» на манер Си++, кодируя в имени её параметры наподобие
h(int) → _Z1hi
. Используется для доступа из Си++ к функциям, которые скомпилированы другим компилятором (Паскалем, Си…), а также для всяких там функций, которым надо дать фиксированное имя — например, функций DLL.
2.
__declspec(dllimport)
. Это нужно для доступа к функциям DLL: линкер будет брать функции прямо из DLL, без создания *.lib или *.a (как минимум MinGW так работает). Языки, сильно привязанные к определённой ОС (например, Delphi) могут создавать свои ключевые слова для доступа, например, к DLL или COM.
procedure DoSomething(x : integer); cdecl; external 'something.dll';
Застандартизированный Си вынуждает полагаться на ключевые слова, начинающиеся с двух подчерков.