cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
総合概要
データ構造
ファイル
ファイル一覧
大域各種
全て
データ構造
ファイル
関数
変数
型定義
列挙型
列挙値
マクロ定義
Common.h
[詳解]
1
12
#ifndef CMNCLIB_COMMON_H
13
#define CMNCLIB_COMMON_H
14
15
#include <stddef.h>
16
17
/* パフォーマンス優先設定 */
18
/*
19
#define CMN_CLIB_HI_PERFORMANCE 1
20
*/
21
#ifdef NDEBUG
22
#ifndef CMN_CLIB_HI_PERFORMANCE
23
#define CMN_CLIB_HI_PERFORMANCE 1
24
#endif
25
#endif
26
27
/* 真偽値 */
28
#ifndef True
29
#define True 1
30
#endif
31
#ifndef False
32
#define False 0
33
#endif
34
36
typedef
enum
enmCHARSET
{
37
CHARSET_ASCII,
38
CHARSET_SHIFT_JIS,
39
CHARSET_UTF8,
40
}
CHARSET
;
41
43
#define ARRAY_LENGTH(x) (sizeof(x) / sizeof(*x))
44
45
/* OS識別 */
46
#define PRATFORM_WINDOWS 1
47
#define PRATFORM_LINUX 2
48
#ifdef _WIN32
49
#define PRATFORM PRATFORM_WINDOWS
50
#else
51
#define PRATFORM PRATFORM_LINUX
52
#endif
53
55
#define IS_PRATFORM_WINDOWS() (PRATFORM == PRATFORM_WINDOWS)
56
57
#define IS_PRATFORM_LINUX() (PRATFORM == PRATFORM_LINUX)
58
59
/* Winsock2のための設定。CmnNetでwinsock2.hを使用するため、windows.hから旧バージョンのwinsock.hが読み込まれないようにする。 */
60
#if IS_PRATFORM_WINDOWS()
61
#define _WINSOCKAPI_
/* Prevent includsion of winsock.h in windows.h */
62
#endif
63
64
/* DLL使用かLIB使用かによるプロトタイプ切り替え */
65
#ifdef _USRDLL
66
/* DLL作成 */
67
#define D_EXTERN extern __declspec(dllexport)
68
#else
69
#ifdef COMMON_DLL_IMPORT
70
/* DLL使用 */
71
#define D_EXTERN extern __declspec(dllimport)
72
#else
73
/* LIB使用 */
74
#define D_EXTERN extern
75
#endif
76
#endif
77
78
#endif
/* CMNCLIB_COMMON_H */
79
CHARSET
enum enmCHARSET CHARSET
enmCHARSET
enmCHARSET
Definition:
Common.h:36
inc
cmnclib
Common.h
構築:
1.8.8