Как собрать библиотеку, чтобы ее функционал вызывался из C и С++?

XRENANTES

См сабж. Необходимо оформить 1 ф-ию в библиотеку, чтобы она могла быть вызвана как из C, так и из C++. Microsoft Visual Studio 6

geja_03

Если библиотека на плюсах, то
extern "C" __declspec(dllexport) function(...)
если на сях, то
__declspec(dllexport) function(...)
можно extern "C" убрать под #ifdef __cplusplus если не уверен

Andbar

можно extern "C" убрать под #ifdef __cplusplus если не уверен
Как-то так: libheader.h
#ifndef MY_LIBRARY_HEADER
#define MY_LIBRARY_HEADER

#ifdef MYLIB_EXPORT
#define MYLIBSPEC __declspec(dllexport)
#else
#define MYLIBSPEC __declspec(dllimport)
#endif

#ifdef __cplusplus
extern "C" {
#endif

MYLIBSPEC restype1 func1(...);
MYLIBSPEC restype2 func2(...);
......

#ifdef __cplusplus
} //extern "C"
#endif
#endif

XRENANTES

Да, спасибо!

Werdna

extern "C" __declspec(dllexport) function(...)
wtf dllexport?
у меня вот такое ни один компилятор в системе не проглотил.

banderon

Костыли для

Microsoft Visual Studio 6

okis

это фича cl из msvc.
Оставить комментарий
Имя или ник:
Комментарий: