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

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui