我正在使用QuickFAST庫,並檢查它時,我發現這個類聲明,我似乎並沒有真正得到!我的意思是什麼名稱之前的宏名稱!包含宏的C++方法聲明
class QuickFAST_Export Message : public FieldSet
還我發現這個聲明
friend void QuickFAST_Export intrusive_ptr_add_ref(const Field * ptr);
,並再次我不明白使用本聲明!
更多的信息,這裏的QuickFAST_Export.hpp
#ifdef _MSC_VER
# pragma once
#endif
#ifndef QUICKFAST_EXPORT_H
#define QUICKFAST_EXPORT_H
// Compile time controls for library generation. Define with /D or #define
// To produce or use a static library: #define QUICKFAST_HAS_DLL=0
// Default is to produce/use a DLL
// While building the QUICKFAST_ library: #define QUICKFAST_BUILD_DLL
// Default is to export symbols from a pre-built QUICKFAST DLL
//
// Within QUICKFAST use the QuickFAST_Export macro where a __declspec is needed.
#if defined (_WIN32)
# if !defined (QUICKFAST_HAS_DLL)
# define QUICKFAST_HAS_DLL 1
# endif /* ! QUICKFAST_HAS_DLL */
# if defined (QUICKFAST_HAS_DLL) && (QUICKFAST_HAS_DLL == 1)
# if defined (QUICKFAST_BUILD_DLL)
# define QuickFAST_Export __declspec(dllexport)
# else /* QUICKFAST_BUILD_DLL */
# define QuickFAST_Export __declspec(dllimport)
# endif /* QUICKFAST_BUILD_DLL */
# else /* QUICKFAST_HAS_DLL == 1 */
# define QuickFAST_Export
# endif /* QUICKFAST_HAS_DLL == 1 */
# else /* !_WIN32 */
您應該搜索例如'__declspec(dllexport)'或'__declspec(dllimport)'來了解它們的含義。 – 2012-04-18 13:34:02