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

Posted harrypotterjackson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程——数独 代码分析报告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:githubsoftware_engineering_sudokusuduku_without_guisuduku_without_guiinterpretor.cpp(1,1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

1>SudokuSolver.cpp

1>suduku_without_gui.cpp

1>正在编译...

1>E:githubsoftware_engineering_sudokusuduku_without_guisuduku_without_guiSudokuReader.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:githubsoftware_engineering_sudokusuduku_without_guiReleasesuduku_without_gui.exe

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

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

二、    问题总结

1.  文件编码格式不正确

问题描述

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

原因

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

解决方案

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

 

2.  符号不匹配

问题描述

E:githubsoftware_engineering_sudokusuduku_without_guisuduku_without_guiSudokuReader.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:githubsoftware_engineering_sudokusuduku_without_guiReleasesuduku_without_gui.exe

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

 

 技术图片

 

 

以上是关于软件工程——数独 代码分析报告1的主要内容,如果未能解决你的问题,请参考以下文章

软件工程数独——需求分析2

第二次作业——个人项目实战:数独

BIT软工个人项目-数独

软件工程第一次作业——数独的求解与生成

软件工程——数独 总结报告

软件工程基础个人个人项目 数独终局声称与解数独问题的控制台程序