#undef
#if !defined(__DEBUG__)
#elif
#else
#endif
#ifdef
#else
#endif
#ifndef
#else
#endif
PUTS(ab) == 注意没有双引号
printf("%s \n", "ab")
#define PUTS(s) printf("%c \n", #@s)
PUTS(a) ==
printf("%c \n", 'a')
#define JOINT(a, b) printf("%d ", a##b)
JOINT(a, b) ==
printf("%d ", ab)
编译输出错误
#error "something is wrong"
只编译一次
#pragma once
#pragma warning(disable: 12 34; once: 56; error: 78)
不显示12和34警告信息
仅报告一次56警告
把78警告作为错误
加入库
#pragma comment(lib, "ws2_32.lib")
结构体对齐
#pragma pack(4)
__LINE__
__FILE__
__TIME__
__DATE__
__cplusplus
#if !defined(__DEBUG__)
#elif
#else
#endif
#ifdef
#else
#endif
#ifndef
#else
#endif
#define中,标准只定义了#和##两种操作。#用来把参数转换成字符串
PUTS(ab) == 注意没有双引号
printf("%s \n", "ab")
#define PUTS(s) printf("%c \n", #@s)
PUTS(a) ==
printf("%c \n", 'a')
#define JOINT(a, b) printf("%d ", a##b)
JOINT(a, b) ==
printf("%d ", ab)
编译输出错误
#error "something is wrong"
只编译一次
#pragma once
#pragma warning(disable: 12 34; once: 56; error: 78)
不显示12和34警告信息
仅报告一次56警告
把78警告作为错误
加入库
#pragma comment(lib, "ws2_32.lib")
结构体对齐
#pragma pack(4)
__LINE__
__FILE__
__TIME__
__DATE__
__cplusplus