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

一、    运行代码分析

运行代码分析结果如下:

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_第1张图片

 

 

你可能感兴趣的:(软件工程——数独 代码分析报告1)