使用VC6.0编译C++代码的时候报错:fatal error C1071: unexpected end of file found in comment(Mark ZZ)
fatal error C1071: unexpected end of file found in comment(Mark ZZ)
今天在一论坛上看到一人发帖:
『最近遇到一个奇怪的问题,代码中的中文注释能使程序出错!!!
试看如下的代码:
int main() {
int a = 0;
int b = 0;
/**停车来源字*/ ——————应改为“/*(空格,也可不空)*停车来源字(空格)*/ ”
a = 10;
b = 20;
/**注释结束*/——————应改为“/*(空格,也可不空)*注释结束(空格)*/”
printf("a=%d\tb=%d", a, b);
return 0;
}
运行的结果居然是:a=0 b=0
分析后发现中间的赋值语句被当成了注释,忽略掉了。
请问各位大虾,是否遇到此现象?怎么解释?怎么避免此现象?
编译环境是VC++6.0。』
其实我遇到的倒不是,而是fatal error C1071: unexpected end of file found in comment,
查了下:注释里有中文等字符的时候, 在单行注释最后加个空格, 多行注释 */ 前加一个空格 ...
当然最好的是注释都用英文。
因为某些特殊中文字符在某些字符集下会被处理成特殊的转义序列, 并且GBK字符集中尾字符还包含了C标准的转义字符 0x5C '\\ ' , 在这些情况下, 转义字符后跟 */ 或者是单行注释的换行都会出错, 特别是在非中文的系统下编译的时候这种情况特别严重。修改如上。
运行的结果居然是:a=0 b=0—————— 可能空格的情况是
/**停车来源字*/
a = 10;
b = 20;
/**注释结束(空格)*/——————这里空格了,/**停。。。。。束(空格)*/之间的不执行。
printf("a=%d\tb=%d", a, b);
如果是/* */,不会出现诸于此类问题
http://topic.csdn.net/u/20100325/22/46c67761-38c8-4505-90bd-7c118791a298.html
http://topic.csdn.net/u/20070627/21/82ab7370-5a98-4e4d-8ed4-da6ad0996b84.html?310753027
使用VC6.0编译C++代码的时候报错:fatal error C1071: unexpected end of file found in comment(Mark ZZ)的更多相关文章
- 手动编译源码安装包报错 fatal error:cruses.h: no such file or direcrory
很明显是缺少cruses.h这个文件,但是用yum搜索又搜不到,可能是我的yum源的库包太少的原因吧. 后来多方查找,发现cruses.h这个头文件属于ncurses模块,需要安装ncurses-de ...
- 编译Cython代码时遇到的问题: fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
使用python setup.py build_ext --inplace命令编译cython代码, 出现以下错误: Compiling cython_example.pyx because it c ...
- Shell脚本报错--syntax error near unexpected token for((i=0;i<$length;i++))
现象: shell脚本使用Nodepad++进行本地编辑,在编辑后上传到linux机器进行执行时提示“syntax error near unexpected token for((i=0;i< ...
- 让VC6.0编译出来的程序支持XP样式或XP风格
(1)VC6.0编译出来的win32程序不支持winxp样式的原因:微软WINXP系统更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件.为了保留传统的Windows界面风格,特地 ...
- VC6.0编译boost
今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看. 最开始直接从网上(www.boost.org)下载了当前 ...
- 比特币初始版本VC6.0编译
1 源码下载 github上初始版本是bitcoin-0.1.5,可以从https://github.com/bitcoin/bitcoin下载,但是从网上可以找到更老版本bitcoin-0.1.0, ...
- Centos 7.5源码编译安装zabbix4.0报fatal error: mysql.h: No such file or directory
系统环境:CentOS 7.5是最小化安装的 编译信息 编译选项: root@Server01 zabbix-]# ./configure --prefix=/usr/share/applicatio ...
- webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错:
webRTC中回声消除(AEC)模块编译时aec_rdft.c文件报错. 原因是: 局部变量ip跟全局变量冲突的问题,可以将局部变量重新命名一下,就可以通过编译了. aec_rdft.c修改以后文件代 ...
- caffe编译问题-src/caffe/net.cpp:8:18: fatal error: hdf5.h: No such file or directory compilation terminated.
错误描述 src/caffe/net.:: fatal error: hdf5.h: No such : recipe 操作过程 step1: 在Makefile.config文件更改INCLUDE_ ...
随机推荐
- PHP-两数相除
给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 示例 1: 输 ...
- 解决Addin开发不能断点调试的问题
ArcMap或CAD在调试C#二次开发的插件的时候,在一些情况下不能正常进入到断点中,原因是debugger type不对应. eg. 右键单击Solution Explorer,选择Add-> ...
- 【JZOJ1914】【BZOJ2125】最短路
description 给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径. analysis 建出圆方树后,可以知道仙人掌上每一个方点连着的边双其实就是 ...
- Delphi CoCreateGuid()函数 获取GUID
Globally Unique Identifier(全球唯一标识符) 也称作 UUID(Universally Unique IDentifier) GUID/UUID是通过特定算法产生的一个二进制 ...
- xlwings结合dataframe数据的写入
一.代码 import xlwings as xw import pandas as pd xl_path=r'***' df_path=r'***' df=pd.read_excel(df_path ...
- unittest框架学习笔记四之report
# coding=utf-8'''created:2018/3/29 author:star project:test report'''# import time,os# from selenium ...
- (1)centos7 安装与分区
xxxxx 系统运行级别 /etc/inittab #
- adb devices unauthorized的解决办法
Hi, trying to launch adb but get: daemon not running. starting it now on port * daemon started s ...
- 7、Appium常用API
嗯,官网已经介绍的很全了.会选几个常用API后期整理. Appium常用API地址:http://appium.io/docs/cn/writing-running-appium/appium-bin ...
- gcc将c源文件中的宏展开
1: sudo gcc -P -I. -I../instrument/stubs -I../instrument/stubs -I../ -E ctrl_xfer32.cc -o preprocess ...