首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
X86
» 将Linux C/C++应用程序从x86平台移植到IBM PowerLinux(4)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
将Linux C/C++应用程序从x86平台移植到IBM PowerLinux(4)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-7-30 19:08
|
只看该作者
将Linux C/C++应用程序从x86平台移植到IBM PowerLinux(4)
machines
,
应用程序
,
源代码
,
服务器
,
Linux
void foo() { short int val = 0xFF00; char *char_pointer = (char *) &val; //This prints 0 in x86 (or x86_64) machines and ff in ppc (or ppc64) machines. printf("%x\n", *char_pointer);} Migration Advisor 使用 Eclipse CDT Code Analyzer (Codan) 源代码分析器来查找 C/C++ 源代码中的潜在迁移问题,比如可能在 x86 和 POWER 服务器上运行时生成不同结果的代码块。要查找源代码中的问题,Codan 会分析 C/C++ 源代码抽象语法树 (AST),查找可能与 Power Architecture 不兼容的代码段。在找到潜在问题时,Migration Advisor 会保存该问题在代码中的位置,并在源代码中的这个特定位置添加一条警告。目前,Migration Advisor 仅兼容 C/C++ 代码。
以下是在 IBM SDK for PowerLinux 中使用 Migration Advisor 的屏幕截图。
图 2. 运行 Migration Advisor ‘Union with Endianness Issues’ 检查器
Migration Advisor:快速修复特性
Migration Advisor 还为一些迁移问题提供了快速修复方法,能够将依赖于架构的代码块替换为与 POWER 处理器兼容的指令。可以通过两种方式触发快速修复:右键单击源代码中的警告并选择快速修复选项;或者打开 Migration Advisor Eclipse View,右键单击一个特定问题,然后选择快速修复选项。
Migration Advisor 所提供的快速修复仅适用于:
特定于 x86、内置的编译器的使用
内联程序集的使用
性能降级
您可以选择可激活或可停用的检查器。每次您修改源代码后,Migration Advisor 都将重新检查代码并更新结果,使您在对项目执行完成的重新构建之前有机会快速识别和解决问题。图 3 显示了 Migration Advisor 窗口,其中已激活所有检查器。
图 3. 激活所有检查器
激活 Migration Advisor 检查其后,右键单击项目并单击 Run Migration Advisor。然后,Migration Advisor 会使用启用的检查器分析代码,并在 Eclipse 视图中显示找到的潜在问题的结果(参见图 4)。
图 4. Migration Advisor 视图
图 5 显示了一个不受 Power 平台支持的内置插件所导致的一个真实迁移问题的示例。为了修复该问题,可以在 Migration Advisor Eclipse 视图中双击它。然后将打开源代码视图,突出显示问题的准确位置。如果将鼠标移动到突出显示的代码上方并按 Ctrl+1,则会打开另一个弹出窗口,如图 5 所示。
图 5. 使用 Migration Advisor 进行快速修复
选择第一个选项 Builtin quick fix。应用快速修复后的结果代码如图 6 所示。
图 6. 应用 Migration Advisor 快速修复后的代码
其他有用的 Migration Advisor 检查包括:
特定于 x86 的程序集检查器
包含位字段的结构的检查器
Long double 使用检查器
性能降级检查器
特定于 x86 的编译器内置检查器的使用
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
ARM
测试测量
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议