Doubango与编译学习相关资料----来自好友王阳(他的博客http://blog.163.com/dream_burgeon/blog/static/235007155201469104240)

本文主要是介绍Doubango与编译学习相关资料----来自好友王阳(他的博客http://blog.163.com/dream_burgeon/blog/static/235007155201469104240),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Doubango修改编译纪要  

doubango使用C语言编写,其他语言使用其代码需要响应的接口,如在Android平台上调用,则需要JNI(Java Native Interface)接口调用,可以使用相应的代码生成工具生成这些JNI的代码。以下介绍几个自动生成工具。

SWIG:
RTL:
FSME/FSMC:

另外介绍一个标准:
POSIX :可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX )POSIX标准定义了操作系统应该为应用程序提供的接口标准。

tar -zxvf doubango.zip
cd doubango

在Linux下编译Doubango使其能够在ARM上运行,则需要用到交叉编译器NDK。
不同OS有不同版本的NDK,可根据需要进行选择,见http://developer.android.com/。
以下是NDK的结构。
/toolchains下是不同平台使用的不同编译工具,支持linux下编译生成x86、mipsel、arm指令集。
/platform下是支持不同Android平台版本的工具。
/platform/android-X/arch-xxx/usr/下包含了需要的库和头文件。
Doubango修改编译纪要 - 第一首歌 - 萌芽
  编译成功需要以下几个规则:
1.使用Android库代替GCC原有库。
2.和系统库相连。
3.遵循特殊规则,使用NDK工具。

编译需要makefile控制文件(控制编译过程),它通常是通过configure进行生成的。

这篇关于Doubango与编译学习相关资料----来自好友王阳(他的博客http://blog.163.com/dream_burgeon/blog/static/235007155201469104240)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/209447

相关文章

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT