Программирование на C и C++

Онлайн справочник программиста на C и C++

Директивы компоновщику

В С++ можно задать способ подключения функций. В частности, в Borland С++ можно подклю­чать функцию как С-функцию или как С++-функцию. По умолчанию функции подключаются как С++-функции. Однако, используя спецификацию редактирования связей (linkage specification), можно определить другой тип подключения функций. Общая форма спецификации имеет следу­ющий вид:

extern "язык" прототип_функции

Здесь язык обозначает желаемый язык. В Borland С++ язык должен быть или С, или С++, но, в принципе, возможны реализации, включающие и другие типы языков.

Следующая программа задает подключение функции myCfunc() как С-функции:

#include <iostream.h>
extern "С" void myCfunc(void);
int main()
{
myCfunc();
return 0;
}
// компоновка как С-функции
void myCfunc(void)
{
cout << "This links as а С function .\n";
}

ЗАМЕТКА: Ключевое слово extern является необходимой частью спецификации подключения. Более того, спецификация должна быть глобальной. Она не может использоваться внутри функций.

Можно задавать спецификацию подключения нескольких функций одновременно:

extern "язык" {
прототипы
}

Спецификацию подключения используют редко.