文档章节

PCH 警告:标头停止点不能位于宏或#if块中

o
 osc_fmg49rzg
发布于 2019/03/20 10:00
字数 243
阅读 18
收藏 0

精选30+云产品,助力企业轻松上云!>>>

今天在vs2010写了点代码,居然报了“PCH 警告:标头停止点不能位于宏或#if块中”。

/*********************
 *                   *
 * 文件夹: ▲01 绪论 *
 *                   *
 * 文件名: Scanf.c   *
 *                   *
 *********************/
#ifndef SCANF_C
#define SCANF_C

#include <stdio.h>
#include <string.h>
#include <stdarg.h>                //提供宏va_list、va_start、va_arg、va_end    
#include <ctype.h>                 //提供isprint原型 
.....

#endif

原因:vs2010的智能感知要求.h必须以非#if系列的预编译指令打头

修改办法 两种,在代码顶部加上下面一句代码就ok了

#pragma once

 

修改后的代码

/*********************
 *                   *
 * 文件夹: ▲01 绪论 *
 *                   *
 * 文件名: Scanf.c   *
 *                   *
 *********************/
#pragma once
#ifndef SCANF_C
#define SCANF_C

#include <stdio.h>
#include <string.h>
#include <stdarg.h>                //提供宏va_list、va_start、va_arg、va_end    
#include <ctype.h>                 //提供isprint原型 

int Scanf(FILE *fp, char *format, ...)
{
    int *i;
    char *ch, *s;
    float *f;
    int count, k, len, n;        
    int tmp;
    va_list ap;
......

#endif

将所有含有#include <***.h> 的头文件放在#ifndef等外,即上方。

//#pragma once
#include <stdio.h>
#include <string.h>
#include <stdarg.h>                //提供宏va_list、va_start、va_arg、va_end    
#include <ctype.h>                 //提供isprint原型 
#ifndef SCANF_C
#define SCANF_C

 

上一篇: Linux命令:tar
下一篇: Spring之Spel表达式
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
C/C++ 中宏与预处理使用方法大全 (VC)

原文:C/C++ 中宏与预处理使用方法大全 (VC) 作者:Breaker C/C++ 中的宏 (#define) 与预处理 (#if/#ifdef/#pragma) 的使用方法大全、使用技巧 开发环境:VC 2005 关键字:宏, 预定义宏, 预处...

晨曦之光
2012/05/23
1.1W
0
Xcode 中 pch 文件配置 - iOS

一.简介 首先 pch 文件(即:Prefix Header)是一种预编译文件,在 Xcode 6 之前创建新的工程则会自动将该文件一起创建出来,但在 Xcode 6 之后苹果官方则默认将自动创建的方式变更为后续手动人工...

osc_o18rkfva
2018/02/22
5
0
iOS项目中简便添加PCH文件的方法,真的很简便哦!

在项目中添加一个Pch文件大大滴方便了我们在开发中的工作,减少了工作量,大致的作用有: 1.存放一些全局的宏(整个项目中都用得上的宏),比如屏幕长宽的宏定义; 2.用来包含一些全部的头文件...

小蜜蜂Bee
2017/12/01
0
0
从bug现象循问题本质分析集锦

分析一:OC系统的NSString不能被识别 1、表示这个项目运行在模拟器6+上出错了 2、Check Dependencies表示检查依赖关系,下面有警告 3、Waring:Multiple build commands for output file 项目...

朝雨晚风
2016/08/25
0
0
项目中的常见文件

Texts文件夹:单元测试 Frameworks:依赖的框架 Info.plist:项目配置文件,PPT演示 配置文件,保存应用的信息,软件名称等等,相当于身份证。程序加载首先加载配置文件,读取软件名称等信息。 1> B...

bruce107
2016/05/30
5
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式(4) 建造者模式

什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了...

zhixin9001
28分钟前
14
0
ArrayList源码分析 —— JDK8

ArrayList的特性 ArrayList内部使用数据作为存储结构,ArrayList可以理解为数组的扩展对象,封装了常用的和非常用的操作数组的方法。以及当数组长度不足以保存数组时,自动扩容数组,通常Arr...

XuePeng77
35分钟前
34
0
__slots__的用法? - Usage of __slots__?

问题: Python中__slots__的目的是什么-尤其是关于何时以及何时不使用它的目的? 解决方案: 参考一: https://stackoom.com/question/1ymu/slots-的用法 参考二: https://oldbug.net/q/1ym...

富含淀粉
46分钟前
17
0
Python分析42年高考数据,告诉你高考为什么这么难?

作者:徐麟 历年录取率 可能很多经历过高考的人都不知道高考的全称,高考实际上是普通高等学校招生全国统一考试的简称。从1977年国家恢复高考制度至今,高考经历了许多的改革,其中最为显著的...

爱码小哥
48分钟前
19
0
CKEditor 5 + SpringBoot实战(四):SpringBoot 实现文件上传

在本系列的文章中,我将介绍如何在Spring Boot Application中使用CKEditor编辑器。介绍的内容包括基本环境的搭建,文件上传,SpringData JPA数据持久化,CKEditor5的安装,CKEditor图片上传,...

树下魅狐
49分钟前
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部