2019-11-25 编写cmake 脚本注意事项
message(FATAL_ERROR "NO ASSEMBLER! Must install nasm or yasm")
CMake 中的 YASM 支持
https://developer.android.google.cn/ndk/guides/cmake#yasm-cmake
NDK 为构建以 YASM 编写的汇编代码提供 CMake 支持,以便在 x86 和 x86-64 架构上运行。YASM 是基于 NASM 汇编程序且针对 x86 和 x86-64 架构的开源汇编程序。
该程序可用于将汇编语言程序或例程与 C 代码关联,以便从您的汇编代码访问 C 库或函数。您还能在编译完的 C 代码中添加简短的汇编例程,以充分利用汇编代码提供的更出色的机器性能。
要使用 CMake 构建汇编代码,请在您项目的 CMakeLists.txt
中作出以下变更:
- 调用
enable_language
,且值设置为ASM_NASM
。 - 根据您是构建共享库还是可执行二进制文件来决定调用
add_library
或add_executable
。在参数中,传入源文件列表。源文件包括 YASM 中汇编程序的.asm
文件,以及关联 C 库或函数的.c
文件。
以下片段展示如何配置您的 CMakeLists.txt
,以将 YASM 程序构建为共享库。
cmake_minimum_required(VERSION 3.6.0)enable_language(ASM_NASM)add_library(test-yasm SHARED jni/test-yasm.c jni/print_hello.asm)
如需通过示例了解如何将 YASM 程序构建为可执行文件,请参阅 git 代码库中的https://android.googlesource.com/platform/ndk/+/master/tests/device/yasm/ 代码。
如您遇到 CMake 开放源代码版本以外的问题,请通过 GitHub 上的 [android-ndk/ndk](https://github.com/android-ndk/ndk/issues)
问题追踪器报告。
2019-11-25 编写cmake 脚本注意事项相关推荐
- shell实例第1讲:编写shell脚本注意事项
编写shell前需要注意以下几点,注意点会不断更新. 1.开头加解释器:#!/bin/bash 2.语法缩进,使用四个空格 3.多加注释说明 4.命名建议规则:变量名大写.局部变量小写,函数名小写,名 ...
- 【每日早报】2019/11/25
✦ 中国广电首个5G基站在湖南长沙开通,采用华为全球领先设备 ✦ 全国医保电子凭证在济南首发,山东就医买药实现无卡结算 ✦ 浙商银行:将于11月26日在上交所上市,发行价格4.94元/股 ✦ 谷歌云打 ...
- CFA课程打卡-2019.11.25
学习时长:75分钟 学习内容:今天进入了最后一章的学习内容,也就是如何使用金融计算器,通过这三小节的学习,熟悉了计算器上一些以前不知道的功能,比如用计算器求排列组合,还有倒数上的一些功能,还有货币事件 ...
- 怎么编写Linux脚本循环语句,shell脚本及常用循环语句
博文结构 什么是shell 简单编辑shell 循环语句 一.什么是shell及作用 Shell字面理解就是个"壳",是操作系统(内核)与用户之间的桥梁,充当命令解释器的作用,将用 ...
- Android studio 3.0 (CMake)编写cydia脚本hook native
在anndroid studio 2.2 后,用它编写native代码只支持用CMake进行,然后我正在准备用Cydia Substrate 来 hook native代码的时候,发现网上没有用CMa ...
- 单细胞转录组数据整合分析专题研讨会(2019.11)
2019年10月9日,单细胞转录组再等Nature.题为Decoding human fetal liver haematopoiesis的研究,对受孕后4周至17周的人胚胎肝脏.卵黄囊.肾脏和皮肤组 ...
- vimscript:编写Vim脚本
编写Vim脚本 https://blog.csdn.net/yz457694/article/details/77316421 这篇文章是手册的中文译版整理而来(英文看着太慢了,感谢前人铺路Orz-) ...
- 纯c#编写的脚本引擎(非CodeDom)
时间有个项目,因为其中需要使用脚本做模板数据的计算,因此让我对脚本引擎产生了兴趣,于是上网到处寻找资料,于是找到了<龙书>.CodeDom.于是又找了半天,找不到开源的脚本引擎源码,脑袋一 ...
- 初学者编写bash脚本教程
初学者编写bash脚本教程 bash shell script 定义 bash bash是命令语言解释器.广泛用于各种gun/unix系统上的默认命令解释器.全程叫做"Bourne-Agai ...
最新文章
- visual webgui theme designer
- SystemView软件中“Butterworth Lowpass IIR“的完美设置
- python twisted教程_python-twisted模块代码实例
- 【深度学习】利用神网框架分割病理切片中的癌组织(胃)
- VBA语言(二)变量、数据类型和常量
- php 文件迭代对象,通过PHP中的stdClass对象进行迭代
- Struts2中的Action
- centos8.2安装mysql_为CentOS 8操作系统安装MySQL的方法,以安装MySQL 8为例
- 为什么wait/notify必须要和synchronized一起使用?
- 使用API网关构建微服务
- dbf转成excel_DBF文件转换成excel工具(DbfToExcel)
- 00、Python源码编译
- ET框架---UnityWebRequestAsync学习笔记
- 微信终于要对聊天记录动手了?
- python 恢复删除的文件_如何恢复已删除的python文件(一看就会的恢复软件)
- vos3000配置与通讯测试(一)
- 在centos下安装pycrypto报错 RuntimeError: autoconf error
- 美团云深度学习平台-快速开始
- 畅邮(DM Pro)-一款强悍、纯净而稳定的重量级电子邮箱客户端(支持分发、追踪)...
- 洛谷日报索引(2020、2019、2018)
热门文章
- sql 上亿 查询_在文件上使用 SQL 查询的示例
- python的库有哪些餐厅_Python告诉你上海有哪些高性价比的西餐厅
- 背景图片平铺(HTML、CSS)
- 智慧城市特效(建筑颜色渐变、飞线、扫光、扫描、光墙、线路、水、道路线条、锥形标、漫游)three+shader
- OpenCV 直方图均衡化 equalizeHist
- 为什么要使用git pull --rebase?
- [译] 使用 iPhone X 与 Maya 实现快速面部捕捉
- 不是程序员,代码也不能太丑!python官方书写规范:任何人都该了解的 pep8
- 高速计算机的应用领域概括,[其它课程]计算机基础教案第一篇第一、二章.doc
- php伪协议漏洞_php伪协议利用文件包含漏洞