---
title: 概述
description: "x86平台迁移鲲鹏计算平台，涉及了底层指令集的转换。如使用C/C++高级语言编写的代码，在鲲鹏计算平台使用GCC编译，高版本GCC对ARMv8指令集的支持可以保证正常编译。在数据库场景，出于并发编程的一致性和性能考虑，需要使用大量的原子类的函数操作。为了适配不同版本的GCC，数据库代码在x86平台往往对原子操作会进行汇编化。另外sse4.x指令集还提供了一些高级指令，在x86平台也比较常见。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/databasepg/kunpengdbsolution_12_0001.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/databasepg/kunpengdbsolution_12_0001.html
indexId: 43c978166f5c8a7badedfdfae8a94872a1fa8b1f8cdde2cb0fbeef3f5c0746e179
---
# 概述

x86平台迁移鲲鹏计算平台，涉及了底层指令集的转换。如使用C/C++高级语言编写的代码，在鲲鹏计算平台使用GCC编译，高版本GCC对ARMv8指令集的支持可以保证正常编译。在数据库场景，出于并发编程的一致性和性能考虑，需要使用大量的原子类的函数操作。为了适配不同版本的GCC，数据库代码在x86平台往往对原子操作会进行汇编化。另外sse4.x指令集还提供了一些高级指令，在x86平台也比较常见。

针对x86平台特有的汇编指令和高级指令集，在适配鲲鹏计算平台时需要做对应的修改。本文以开源数据库（PostgreSQL和Mysql）为例，举例常见的多平台支持中的差异点，供需要做数据库类源码移植的开发者参考。

本文推荐使用GCC 7.3版本以上编译，支持C11内存模型和ARMv8的新指令。
