---
title: 示例1：64位运行模式检查
description: "本示例主要是演示如何使用鲲鹏DevKit亲和分析工具的64位迁移预检功能，将x86平台GCC 4.8.5 ～ GCC 10.3.0版本原32位的应用迁移到64位平台上，进行迁移检查并给出修改建议。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/development/demo/KunpengDevKitDsug_0014.html
sourcePath: /source/zh/kunpengdevps/development/demo/KunpengDevKitDsug_0014.html
indexId: 6ce127ef643751dc15658763251fb2014de86844b4374b069da15e3f6c4b5f5268
---
# 示例1：64位运行模式检查

本示例主要是演示如何使用鲲鹏DevKit亲和分析工具的64位迁移预检功能，将x86平台GCC 4.8.5 ～ GCC 10.3.0版本原32位的应用迁移到64位平台上，进行迁移检查并给出修改建议。

1. 从GitHub(https://github.com/kunpengcompute/devkitdemo/tree/main/Porting_advisor/testdemo/precheck)或Gitee(https://gitee.com/kunpengcompute/devkitdemo/tree/main/Porting_advisor/testdemo/precheck)代码样例获取待使用的软件源码包。
  下载的源码包为devkitdemo-main.zip，解压后的“./devkitdemo-main/Porting_advisor/testdemo/precheck/”为64位运行模式检查的待扫描代码。

2. 进入鲲鹏DevKit，在左侧列表中单击“亲和分析 > 64位运行模式检查”进入64位运行模式检查任务创建页面。
  单击“选择文件夹”，上传precheck文件夹。如图1所示。

  图1 64位运行模式检查

3. 单击“开始检查”，分析完成后单击报告页面对应源码文件右侧的“查看建议源码”，如图2所示。
  图2 64位运行模式检查报告

  本示例以扫描precheck文件夹为例，扫描结果显示32位->64位平台进行迁移需要进行修改的代码行，如表1所示。 表1 扫描结果 文件 代码行 处理建议 修改后的代码 func001.c 第26行char a = m; Suggestion: // This line needs to be adapted for the 64-bit environment. char a = (char)m; func001.c 第28行c = c+i; c = (char)((int)c +i); func002.c 第26行c = p; c = (char *)p; func003.c 第23行unsigned char *s = c; unsigned char *s = (unsigned char *)c; func004.c 第25行int q = &a; long int q = (long)&a; func004.c 第28行p = &a; long int p;//修改第26行 p = (long)&a; func004.c 第30行test = s; long int test = 10;//修改第22行 test = (long)s;

4. 对各个代码行进行修改，修改完成后，可使用快捷键“Ctrl+S”保存。
  图3 代码修改

5. 单击任务名称右侧的按钮进行重启任务操作。出现如图4所示。
  图4 扫描报告

6. 登录服务器，进入源码文件存放目录（例如：/opt/DevKit/workspace/devadmin/affinity/precheck/precheck），对原始文件执行make，结果如图5所示。
  图5 执行make

  按照要求进行修改后，重新执行make，结果如图6所示。

  图6 重新执行make

  从中可以看出和32位->64位迁移相关的警告信息已经全部清除。
