文档
注册
评分
提单
论坛
小智

代码迁移—编译脚本、编译选项移植

这里列举了两个简单的例子,64位应用程序的编译和数据类型的指定。

在编译64应用程序时,x86平台可通过指定编译选项为-m64来完成,而鲲鹏处理器需要-mabi=lp64的形式指定。

在X86平台下默认char类型是有符号类型,鲲鹏平台下默认是无符号类型,这里可以有两种方法修改,第一种是使用signed char在代码中指定,第二种是在编译选项中用-fsigned-char来指定。

这里只是列出了核心修改点,具体在编译脚本中的实施修改以Cmakelists.txt文件、Makefile文件进行举例。在Makefile文件中可通过 add_definitions()、set(CMAKE_CXX_FLAGS)、add_compile_options()三种方式修改。Makefile文件修改较为简单,和使用GCC加编译选项类似,当然也有可能通过自定义的编译选项变量来传递编译选项参数。

其实需要修改的差异化编译选项往往都有一个特点,其一般都与当前编译平台属性强相关,由于平台属性的差异才引入了移植修改,这些编译选项一般都以为 –m开头。

不同架构下差异化GCC编译选项查询 (GCC 7.3为例) 可在如下链接查看。

-mabi=lp64在GCC 4.8.5可能不支持,推荐GCC 7.3及以上版本。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词