WIL説明書(C++)  3.0.0
FvMacros.h
[詳解]
1 // $Revision: 1.1 $
2 /*
3  @file FvMacros.h
4  @brief macro definition
5  @author FAST Corporation
6 */
7 
8 #ifndef _FVMACROS_H_INCLUDED_
9 #define _FVMACROS_H_INCLUDED_
10 
11 // format = Mmmxx
12 // M : major version (decimal)
13 // mm : minor version (decimal)
14 #define _FVCL_VER 300 // 3.0
15 
16 #define _FVCL_FILENAME_VER "3.0.0"
17 
18 #ifdef _M_IX86
19  #define _FVCL_ARCH "x86"
20 #else
21  #define _FVCL_ARCH "x64"
22 #endif
23 
24 // Packing size
25 #ifdef _FVCL_PACKING
26 #undef _FVCL_PACKING
27 #endif
28 #define _FVCL_PACKING 8
29 
30 // Operating system
31 #ifndef __FVLWIN32__
32  #ifdef WIN32
33  #define __FVLWIN32__
34  #endif
35 #endif
36 
37 // UNICODE
38 #if !defined(_UNICODE) && defined(UNICODE)
39  #define _UNICODE
40 #elif defined(_UNICODE) && !defined(UNICODE)
41  #define UNICODE
42 #endif
43 
44 // warning disable
45 #ifdef _FV_WARNING_DISABLE
46  #pragma warning( disable:4251 )
47  #pragma warning( disable:4819 )
48 #endif
49 
50 // Debug mode
51 #ifdef _MSC_VER
52  #ifdef _DEBUG
53  #define _FV_DEBUG
54  #endif
55 #endif
56 
57 // DLL exports macro
58 #if defined(FVCL_EXP_DISABLED)
59  #define FVCL_API // disable exports marco
60 #elif !defined(WIN32)
61  #define FVCL_API // Shared object or etc
62 #elif defined(FVCL_EXPORTS)
63  #define FVCL_API __declspec(dllexport) // Windows DLL export
64 #else
65  #define FVCL_API __declspec(dllimport) // Windows DLL import
66 #endif
67 
68 // Debug macro
69 #ifdef _DEBUG
70  #define FV_DEBUG_MSGA(X) (FVCL::DispDebugMessageA X)
71  #define FV_DEBUG_MSGW(X) (FVCL::DispDebugMessageW X)
72  #define FV_TRACE_MSGA(X) (FVCL::DispTraceMessageA X)
73  #define FV_TRACE_MSGW(X) (FVCL::DispTraceMessageW X)
74  #define FV_DEBUG_FOR(X) for(X){
75  #define FV_DEBUG_SOURCE(X) X
76  #define FV_DEBUG_ENDFOR }
77 #else
78  #define FV_DEBUG_MSGA(X)
79  #define FV_DEBUG_MSGW(X)
80  #define FV_TRACE_MSGA(X)
81  #define FV_TRACE_MSGW(X)
82  #define FV_DEBUG_FOR(X)
83  #define FV_DEBUG_SOURCE(X)
84  #define FV_DEBUG_ENDFOR
85 #endif
86 
87 #define _MBS2WCS_(c) L ## c
88 #define _MCR2WCS_(m) _MBS2WCS_(m)
89 
90 #if defined(_UNICODE)
91  #define __TFILE__ _MCR2WCS_(__FILE__)
92  #define __TDATE__ _MCR2WCS_(__DATE__)
93  #define __TTIME__ _MCR2WCS_(__TIME__)
94  #define __TTIMESTAMP__ _MCR2WCS_(__TIMESTAMP__)
95  #define DispDebugMessage DispDebugMessageW
96  #define FV_DEBUG_MSG FV_DEBUG_MSGW
97  #define FV_TRACE_MSG FV_TRACE_MSGW
98 #else
99  #define __TFILE__ __FILE__
100  #define __TDATE__ __DATE__
101  #define __TTIME__ __TIME__
102  #define __TTIMESTAMP__ __TIMESTAMP__
103  #define DispDebugMessage DispDebugMessageA
104  #define FV_DEBUG_MSG FV_DEBUG_MSGA
105  #define FV_TRACE_MSG FV_TRACE_MSGA
106 #endif
107 
108 #if _MSC_VER >= 1310
109 #if defined(_UNICODE)
110  #define __TFUNCTION__ _MCR2WCS_(__FUNCTION__)
111 #else
112  #define __TFUNCTION__ __FUNCTION__
113 #endif
114 #endif
115 
116 #endif // _FVMACROS_H_INCLUDED_

Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時12分53秒 for WIL説明書(C++) by doxygen 1.8.11