码迷,mamicode.com
首页 > 其他好文 > 详细

软件工程——数独 代码分析报告1

时间:2020-01-18 11:01:30      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:engine   防止   ima   结果   com   header   without   win32   不能   

一、    运行代码分析

运行代码分析结果如下:

1>------ 已启动全部重新生成: 项目: suduku_without_gui, 配置: Release Win32 ------

1>header.cpp

1>interpretor.cpp

1>SudokuChecker.cpp

1>SudokuMaker.cpp

1>SudokuPrinter.cpp

1>SudokuReader.cpp

1>E:\github\software_engineering_sudoku\suduku_without_gui\suduku_without_gui\interpretor.cpp(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

1>SudokuSolver.cpp

1>suduku_without_gui.cpp

1>正在编译...

1>E:\github\software_engineering_sudoku\suduku_without_gui\suduku_without_gui\SudokuReader.cpp(73,59): warning C4018: “>”: 有符号/无符号不匹配

1>正在生成代码

1>Previous IPDB not found, fall back to full compilation.

1>All 50 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.

1>已完成代码的生成

1>suduku_without_gui.vcxproj -> E:\github\software_engineering_sudoku\suduku_without_gui\Release\suduku_without_gui.exe

1>已完成生成项目“suduku_without_gui.vcxproj”的操作。

========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========

二、    问题总结

1.  文件编码格式不正确

问题描述

>E:\github\software_engineering_sudoku\suduku_without_gui\suduku_without_gui\interpretor.cpp(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

原因

工程文档都是以UTF-8带签名格式进行保存,该文件是UTF-8无签名编码。

解决方案

将该文件另存为UTF-8格式

 

2.  符号不匹配

问题描述

E:\github\software_engineering_sudoku\suduku_without_gui\suduku_without_gui\SudokuReader.cpp(73,59): warning C4018: “>”: 有符号/无符号不匹配

原因

SudokuReader::num_bytes_of_sudoku_infile * BUFF_SIZE > n_bytes_read

该大于号的左边是int类型,而比较符的右边是DWORD类型,DWORD是unsigned long类型

解决方案

由于可以确保SudokuReader::num_bytes_of_sudoku_infile * BUFF_SIZE不会超过int的表示范围,因此可以将其向上提升为DWORD类型,不建议强制类型转换n_bytes_read为int类型,避免不必要的错误。

三、    解决后效果

1>------ 已启动全部重新生成: 项目: suduku_without_gui, 配置: Release Win32 ------

1>header.cpp

1>interpretor.cpp

1>SudokuChecker.cpp

1>SudokuMaker.cpp

1>SudokuPrinter.cpp

1>SudokuReader.cpp

1>SudokuSolver.cpp

1>suduku_without_gui.cpp

1>正在编译...

1>正在生成代码

1>Previous IPDB not found, fall back to full compilation.

1>All 50 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.

1>已完成代码的生成

1>suduku_without_gui.vcxproj -> E:\github\software_engineering_sudoku\suduku_without_gui\Release\suduku_without_gui.exe

========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========

 

 技术图片

 

 

软件工程——数独 代码分析报告1

标签:engine   防止   ima   结果   com   header   without   win32   不能   

原文地址:https://www.cnblogs.com/harrypotterjackson/p/12208291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!