我有这些文件是给我解决的,我对标题保护有一些疑问。
在testGuards.h
中,有一个类似__HEADER_GUILD_SAFEBOX__
的定义,但#ifdef
询问是否定义了__GUILD_SAFEBOX__
,所以我不知道是否#ifdef
{1}}应该询问__HEADER_GUILD_SAFEBOX__
而不是__GUILD_SAFEBOX__
。
在testCpp.h
我问是否已定义__GUILD_SAFEBOX__
,但据我所知,它已在testGuards.h
中定义,但在此处(在cpp中),我们永远不要进入#ifdef
,我不知道,如何知道是否未定义,如果没有定义,则定义它。
我有2个代码。
testGuards.h
#ifndef __HEADER_GUILD_SAFEBOX__
#define __HEADER_GUILD_SAFEBOX__
#include "stdafx.h"
#ifdef __GUILD_SAFEBOX__
[...]
#endif
testCpp.cpp
#include "stdafx.h"
#ifdef __GUILD_SAFEBOX__
#include "../common/tables.h"
[...]
#endif
答案 0 :(得分:0)
您可以打印邮件,因为包含了标题。之后,您可以手动/自动检查您想要的任何内容。
关注此answer:
警告指令可能是你得到的最接近的,但它并不完全与平台无关:
#warning "C Preprocessor got here!"
AFAIK适用于大多数编译器,除了MSVC,你必须使用pragma指令:
#pragma message ( "C Preprocessor got here!" )