查找预编译头使用时跳过(已解决)

在VS2013编写MFC文档的时候,stdafx.h文件就是相当于接口的入口函数,只要你新加上了一个cpp或者h性质的新文件,都要加上这个接口文件,否则会自动跳过这个文件以至于出现错误。
注意:在加这个“stdafx.h”的时候,这个文件应该是加载在所有头文件的最上面,否则也会出错,因为系统是先查找到这个文件之后再往下执行程序,上面包含的头文件会被忽略掉。
解决方案:

1、去掉预编译头
项目->属性->配置属性->c/c+±>预编译头->创建使用预编译头->不使用预编译头

2、将包含文件加到预编译头stdafx.h文件中

3、在每个.cpp中包含预编译头stdafx.h文件

	防止重定义

在报类型重定义的类的头文件,最上方加两行:

#ifndef AAAA_H
#define AAAA_H
最下方加一行:

#endif //AAAA_H
(AAAA_H是aaaa.h的大写形式)

C++类型重定义错误的解决方法 - u012043391的专栏 - CSDN博客
https://blog.csdn.net/u012043391/article/details/54631780

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PL/0是一种类Pascal语言,其语法分析程序可以使用自顶向下的递归下降分析法来实现。以下是使用C/C++语言编写PL/0编译程序的语法分析程序的基本步骤: 1. 定义PL/0语言的文法规则,并将其转化为LL(1)文法。 2. 根据文法规则,编写对应的语法分析函数,每个函数对应一个非终结符。 3. 在语法分析函数中,根据当前读入的符号,选择相应的产生式进行推导,并递归调用其他语法分析函数进行子表达式的处理。 4. 在每个语法分析函数中,需要实现错误处理机制,如遇到不合法的符号或语法错误,进行错误提示并过当前符号,继续进行后续分析。 5. 在语法分析过程中,需要使用符号表来管理变量和过程的信息,在语法分析函数中完成符号表的建立和维护。 6. 在语法分析完成后,生成中间代码,如四元式,供后续的代码生成和优化使用。 下面是一个简单的PL/0语法分析函数的实现示例,以处理赋值语句为例: ```c++ // <赋值语句> ::= <标识符> = <表达式> void assign_statement() { int index; if (symbol == IDENT) { index = find_ident(token); if (index == -1) { error("undefined identifier"); } next_symbol(); if (symbol == ASSIGN) { next_symbol(); expression(); gen_code(OPR, 0, OPR_ASSIGN); } else { error(":= expected"); } } else { error("identifier expected"); } } ``` 在该函数中,首先判断当前符号是否为标识符,若是则查找其在符号表中的位置,若不存在则报错。然后继续向后读取符号,判断是否为赋值符号“=”,若是则继续进行表达式的处理,否则报错。最后生成相应的中间代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值