图书介绍
Android C++高级编程 使用NDK2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)辛纳著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302343011
- 出版时间:2014
- 标注页数:344页
- 文件大小:68MB
- 文件页数:357页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
Android C++高级编程 使用NDKPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Android平台上的C+入门1
1.1 Microsoft Windows1
1.1.1在Windows平台上下载并安装JDK开发包2
1.1.2在Windows平台上下载并安装Apache ANT5
1.1.3在Windows平台上下载并安装Android SDK7
1.1.4在Windows平台上下载并安装Cygwin8
1.1.5在Windows平台上下载并 安装Android NDK11
1.1.6在Windows平台上下载并安装Eclipse13
1.2 Apple Mac OS X14
1.2.1在Mac平台上安装Xcode14
1.2.2验证Mac平台的Java开发包15
1.2.3验证Mac平台上的Apache ANT15
1.2.4验证GNU Make16
1.2.5在Mac平台上下载并安装Android SDK16
1.2.6在Mac平台上下载并安装Android NDK18
1.2.7在Mac平台上下载并安装Eclipse19
1.3 Ubuntu Linux20
1.3.1检查GNU C库版本20
1.3.2激活在64位系统上支持32位的功能21
1.3.3在Linux平台上下载并安装Java开发工具包(JDK)21
1.3.4在Linux平台上下载并安装Apache ANT22
1.3.5在Linux平台上下载并安装GNU Make22
1.3.6在Linux平台上下载并安装Android SDK23
1.3.7在Linux平台上下载并安装Android NDK24
1.3.8在Linux平台上下载并安装Eclipse25
1.4下载并安装ADT26
1.4.1安装Android平台包29
1.4.2配置模拟器30
1.5小结33
第2章 深入了解Android NDK35
2.1 Android NDK提供的组件35
2.2 Android NDK的结构36
2.3以一个示例开始36
2.3.1指定Android NDK的位置37
2.3.2导入示例项目37
2.3.3向项目中添加原生支持39
2.3.4运行项目40
2.3.5用命令行对项目进行构建41
2.3.6检测Android NDK项目的结构42
2.4构建系统42
2.4.1 Android.mk43
2.4.2 Application.mk53
2.5使用NDK-Build脚本54
2.6排除构建系统故障55
2.7小结56
第3章用JNI实现与原生代码通信57
3.1什么是JNI57
3.2以一个示例开始57
3.2.1原生方法的声明58
3.2.2加载共享库58
3.2.3实现原生方法59
3.3数据类型64
3.3.1基本数据类型64
3.3.2引用类型64
3.4对引用数据类型的操作65
3.4.1字符串操作65
3.4.2数组操作67
3.4.3 NIO操作68
3.4.4访问域69
3.4.5调用方法71
3.4.6域和方法描述符72
3.5异常处理75
3.5.1捕获异常75
3.5.2抛出异常75
3.6局部和全局引用76
3.6.1局部引用76
3.6.2全局引用76
3.6.3弱全局引用77
3.7线程78
3.7.1同步78
3.7.2原生线程79
3.8小结79
第4章 使用SWIG自动生成JNI代码81
4.1什么是SWIG81
4.2安装82
4.2.1 Windows平台上SWIG的安装82
4.2.2在Mac OS X下安装83
4.2.3在Ubuntu Linux下安装85
4.3通过示例程序试用SWIG86
4.3.1接口文件86
4.3.2在命令行方式下调用SWIG89
4.3.3将SWIG集成到Android构建过程中90
4.3.4更新Activity92
4.3.5执行应用程序93
4.3.6剖析生成的代码93
4.4封装C语言代码94
4.4.1全局变量94
4.4.2常量95
4.4.3只读变量96
4.4.4枚举97
4.4.5结构体100
4.4.6指针101
4.5封装C++代码101
4.5.1指针、引用和值102
4.5.2默认参数103
4.5.3重载函数104
4.5.4类104
4.6异常处理106
4.7内存管理107
4.8从原生代码中调用Java108
4.8.1异步通信108
4.8.2启用Directors109
4.8.3启用RTTI109
4.8.4重写回调方法109
4.8.5更新HelloJni Activity110
4.9小结110
第5章 日志、调试及故障处理111
5.1日志111
5.1.1框架111
5.1.2原生日志API112
5.1.3受控制的日志114
5.1.4控制台日志118
5.2调试119
5.2.1预备知识119
5.2.2调试会话建立120
5.2.3建立调试示例121
5.2.4启动调试器121
5.3故障处理126
5.3.1堆栈跟踪分析127
5.3.2对JNI的扩展检查128
5.3.3内存问题130
5.3.4 strace133
5.4小结134
第6章 Bionic API入门135
6.1回顾标准库135
6.2还有另一个C库136
6.2.1二进制兼容性136
6.2.2提供了什么136
6.2.3缺什么137
6.3内存管理137
6.3.1内存分配137
6.3.2 C语言的动态内存管理138
6.3.3 C+++的动态内存管理139
6.4标准文件I/O141
6.4.1标准流141
6.4.2使用流I/O141
6.4.3打开流142
6.4.4写入流143
6.4.5流的读取145
6.4.6搜索位置148
6.4.7错误检查149
6.4.8关闭流149
6.5与进程交互150
6.5.1执行shell命令150
6.5.2与子进程通信150
6.6系统配置151
6.6.1通过名称获取系统属性值152
6.6.2通过名称获取系统属性152
6.7用户和组153
6.7.1获取应用程序用户和组ID153
6.7.2获取应用程序用户名154
6.8进程间通信154
6.9小结154
第7章 原生线程155
7.1创建线程示例项目155
7.1.1创建Android项目155
7.1.2添加原生支持157
7.1.3声明字符串资源157
7.1.4创建简单的用户界面157
7.1.5实现Main Activity159
7.1.6生成C/C+++头文件162
7.1.7实现原生函数163
7.1.8更新Android.mk构建脚本165
7.2 Java线程165
7.2.1修改示例应用程序使之能够使用Java线程165
7.2.2执行Java Threads示例166
7.2.3原生代码使用Java线程的优缺点167
7.3 POSIX线程168
7.3.1在原生代码中使用POSIX线程168
7.3.2用pthread_create创建线程168
7.3.3更新示例应用程序以使用POSIX线程169
7.3.4执行POSIX线程示例174
7.4从POSIX线程返回结果174
7.5 POSIX线程同步176
7.5.1用互斥锁同步POSIX线程176
7.5.2使用信号量同步POSIX线程180
7.6 POSIX线程的优先级和调度策略180
7.6.1 POSIX的线程调度策略181
7.6.2 POSIX Thread优先级181
7.7小结181
第8章 POSIX Socket API:面向连接的通信183
8.1 Echo Socket示例应用183
8.1.1 Echo Android应用项目184
8.1.2抽象echo activity184
8.1.3 echo应用程序字符串资源188
8.1.4原生echo模块188
8.2用TCP sockets实现面向连接的通信191
8.2.1 Echo Server Activity的布局192
8.2.2 Echo Server Activity193
8.2.3实现原生TCP Server194
8.2.4 Echo客户端Activity布局206
8.2.5 Echo客户端Activity208
8.2.6实现原生TCP客户端210
8.2.7更新Android Manifest213
8.2.8运行TCP Sockets示例214
8.3小结217
第9章 POSIX Socket API:无连接的通信219
9.1将UDP Server方法添加到Echo Server Activity中219
9.2实现原生UDP Server220
9.2.1创建UDP Socket: socket220
9.2.2从Socket接收数据报:recvfrom221
9.2.3向Socket发送数据报:sendto223
9.2.4原生UDP Server方法224
9.3将原生UDP Client方法加入 Echo Client Activity中225
9.4实现原生UDP Client226
9.5运行UDP Sockets示例228
9.5.1连通UDP的模拟器228
9.5.2启动Echo UDP Client229
9.6小结229
第10章 POSIX Socket API:本地通信231
10.1 Echo Local Activity布局231
10.2 Echo Local Activity232
10.3实现原生本地Socketet Server237
10.3.1创建本地Socket: socket237
10.3.2将本地socket与Name绑定:bind238
10.3.3接受本地Socket: accept240
10.3.4原生本地Socket Server240
10.4将本地Echo Activity添加到 Manifest中242
10.5运行本地Sockets示例243
10.6异步I/O243
10.7小结244
第11章 支持C+245
11.1支持的C++运行库245
11.1.1 GAbi+++C+++运行库246
11.1.2 STLport C+++运行库246
11.1.3 GNU STL C+++运行库246
11.2指定C++运行库246
11.3静态运行库与动态运行库247
11.4 C++异常支持247
11.5 C++ RTTI支持248
11.6 C++标准库入门249
11.6.1容器249
11.6.2迭代器250
11.6.3算法251
11.7 C++运行库的线程安全251
11.8 C++运行库调试模式251
11.8.1 GNU STL调试模式251
11.8.2 STLport调试模式252
11.9小结253
第12章 原生图形API255
12.1原生图形API的可用性255
12.2创建一个AVI视频播放器256
12.2.1将AVILib作为NDK的一个导入模块256
12.2.2创建AVI播放器Android应用程序258
12.2.3创建AVI Player的 Main Activity258
12.2.4创建Abstract Player Activity262
12.3使用JNI图形API进行渲染269
12.3.1启用JNI Graphics API269
12.3.2使用JNI Graphics API270
12.3.3用Bitmap渲染来更新AVI Player271
12.3.4运行使用Bitmap渲染的AVI Player278
12.4使用OpenGL ES渲染279
12.4.1使用OpenGL ES API279
12.4.2启用OpenGL ES 1.x API279
12.4.3启用OpenGL ES 2.0 API280
12.4.4用OpenGL ES渲染来更新AVI Player280
12.5使用原生Window API进行渲染290
12.5.1启用原生Window API290
12.5.2使用原生Window API291
12.5.3用原生window渲染器来更新AVI Player293
12.5.4 EGL图形库301
12.6小结301
第13章 原生音频API303
13.1使用OpenSL ES API303
13.1.1与OpenSL ES标准的兼容性304
13.1.2音频许可304
13.2创建WAVE音频播放器304
13.2.1将WAVELib作为NDK导入模块304
13.2.2创建WAVE播放器 Android应用程序306
13.2.3创建WAVE播放器主Activity306
13.2.4实现WAVE Aduio播放310
13.3运行WAVE Audio Player327
13.4小结328
第14章 程序概要分析和NEON优化329
14.1用GNU Profiler度量性能329
14.1.1安装Android NDK Profrile329
14.1.2启用Android NDK Profriler330
14.1.3使用GNU Profriler分析 gmon.out文件331
14.2使用ARM NEON Intrinsics进行优化332
14.2.1 ARM NEON技术概述333
14.2.2给AVI Player添加一个亮度过滤器333
14.2.3为 AVI播放器启用Android NDK Profiler336
14.2.4 AVI Player程序概要分析337
14.2.5使用NEON Intrinsics优化Brightness Filter338
14.3自动向量化342
14.3.1启用自动向量化343
14.3.2自动向量化问题的发现和排除344
14.4小结344
热门推荐
- 973916.html
- 922112.html
- 707886.html
- 348595.html
- 897083.html
- 2229929.html
- 1256998.html
- 2271911.html
- 3054471.html
- 1721604.html
- http://www.ickdjs.cc/book_848206.html
- http://www.ickdjs.cc/book_550399.html
- http://www.ickdjs.cc/book_1360031.html
- http://www.ickdjs.cc/book_1894835.html
- http://www.ickdjs.cc/book_1313788.html
- http://www.ickdjs.cc/book_790792.html
- http://www.ickdjs.cc/book_74228.html
- http://www.ickdjs.cc/book_1880649.html
- http://www.ickdjs.cc/book_3517582.html
- http://www.ickdjs.cc/book_3820821.html