zoukankan      html  css  js  c++  java
  • 软件工程——数独 代码分析报告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 个 ==========

     

  • 相关阅读:
    WPF 对显示列顺序的缓存处理
    WPF DataGrid Header语言切换处理
    ini操作类
    C# 校验 正则
    TreeView 数据绑定及选中命令处理
    Sql server Compact 小型数据库损坏修复
    单例模式 与lock用法
    C#串口控制
    mysql group by 组内排序
    mysql general log开启
  • 原文地址:https://www.cnblogs.com/harrypotterjackson/p/12208291.html
Copyright © 2011-2022 走看看