嵌入式Java-C/C++入门指南:解决小白问题与实战OTP动态令牌

需积分: 20 2 下载量 90 浏览量 更新于2024-07-18 1 收藏 1.27MB PDF 举报
嵌入式开发学习笔记,由Exp博客作者发布于2015年7月25日,主要针对Java和C/C++的初学者,特别是对嵌入式开发感兴趣但有一定基础的读者。该笔记着重讲述了作者从嵌入式开发小白到入门阶段的经历,包括遇到的问题、解决策略,以及一个名为"OTP动态令牌"的实际项目,该项目利用Java和C++技术构建,通过JNI(Java Native Interface)实现Java项目与C++动态链接库的交互。 Java项目"dynamic-token"负责对外提供一个OTP(一次性密码)动态令牌API,而C++项目"dt_otp"则是这个API背后的实现,它处理令牌的生成和校验。在学习过程中,作者分享了以下概念: 1. **GCC** (GNU Compiler Collection):用于C/C++编程的开源编译器。 2. **JNI** (Java Native Interface):Java与C/C++代码交互的关键桥梁,允许Java代码调用C++函数或访问C++数据结构。 3. **JNA** (Java Native Access):一个库,简化了使用JNI的过程,提供了更易用的API来调用本地方法。 4. **DLL** (Dynamic Link Library) 和 **SO** (Shared Object):在Windows和Linux系统中,分别是动态链接库的两种常见形式,用于模块化软件,便于重用和部署。 5. **ELF** (Executable and Linkable Format):一种用于可执行文件和共享对象的二进制文件格式,适用于Linux和某些类Unix系统。 此外,作者提到文章适合有一定Java和C/C++基础,并熟悉Linux环境的读者,对于经验丰富的嵌入式开发者,可能不需要深入阅读。文章内容详实,包含了问题解决策略和术语解释,以及实用的项目示例,有助于新入行者快速理解和入门嵌入式开发。最后,作者推荐了关于JNI原理的参考资料,帮助读者进一步深化理解。