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 个 ==========

     

  • 相关阅读:
    透明的LISTVIEW
    循序渐进实现仿QQ界面(三):界面调色与控件自绘
    循序渐进实现仿QQ界面(一):园角矩形与双缓冲贴图窗口
    循序渐进实现仿QQ界面(二):贴图按钮的三态模拟
    C#中如何通过点击按钮切换窗口
    jQuery -- 光阴似箭(二):jQuery效果的使用
    jQuery -- 光阴似箭(一):初见 jQuery -- 基本用法,语法,选择器
    JavaScript -- 时光流逝(十三):DOM -- Console 对象
    JavaScript -- 时光流逝(十二):DOM -- Element 对象
    JavaScript -- 时光流逝(十一):DOM -- Document 对象
  • 原文地址:https://www.cnblogs.com/harrypotterjackson/p/12208291.html
Copyright © 2011-2022 走看看