`
iihero
  • 浏览: 258183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

列一份跨平台开发的读书清单[C/C++ (or Java?)]

阅读更多

如果要开一份跨平台开发的读书清单:

0. 深入理解计算机系统

将它列为0,实在是因为它是一本从程序员的角度去解释一个计算机系统。它解释了一些最基本的东西。

1. Unix环境高级编程

如果觉得有些深,可找本简单的<<GNU/Linux编程指南>>垫垫底

2. Windows核心编程

这本书内容太厚实了,3比它简单明了些

3. Win32多线程程序设计

4. Unix网络编程 (Richard那几卷)

这个不说了。

5. C++程序设计语言(or C++ Primer)

这个是用C++的参考用书, C语言的参考书太多了,有个<<C专家编程>>似乎不错,应该适合于有经验的人去看。

6. 深入Java虚拟机

java表面上光鲜,内部的虚拟机,了解得越多,对多平台下开发,可能犯的错误会越少。尤其是不同厂商的jvm。也许你的应用在Sun jvm下跑得好好的,然后移到IBM的AIX下,莫名其妙的问题出来了。然后那个挠头啊。

7. 数据库系统全书

这是stanford大学的两本教材的合集(一本是数据库系统基础,另一本是数据库系统实现),这是目前我看到的介绍数据库系统理论与系统实现的最好书集,看了它,会知道一个DBMS要做起来,会涉及到那么多核心的算法和外部数据结构。了解之后,再做各商业数据库底层开发,畏惧感会少很多。你甚至可以带着疑惑和好奇,翻翻sqlite和postgresql的源码,看看一个小型DBMS和一个大型DBMS的实现究竟是怎样的

8 ~ 10

不好推荐了,根据你的职业路线,如果是走Java,那么可能需要看大量的开源框架方面的资料或图书(J2EE, Spring, Hibernate, Struts)和一些必备XML处理方面的知识积累(SAX, DOM, XSLT, ...)

如果是继续走C/C++开发企业级应用,也许你应该仔细看看一种大型DBMS的底层API的详细用法(越细致越好,越少犯错), Oracle的OCI(我还是不推荐OCCI了,对于职业技能不会有什么提高), DB2的CLI,Sybase ASE的OpenClient, MySQL的C-API。它们都是可以做到跨平台开发的。

如果是想做DBA,那么好多书可能用不着了,直接奔厂商的原版文档和在线论坛而去,可能越深入做下去,越会牵扯到各种操作系统和存储设备以及复杂网络系统的技能。但是我相信,一个优秀的跨平台程序员,只要他 (她)有兴趣,并且愿意事事亲为,是能成为一名成功的DBA的。

至于为什么前边推荐看一些操作系统下边进程、线程、网络通信方面的基础编程用书,是因为企业级或者大型互联网应用,往往是多线程或多进程,并涉及到网络通信,同时数据库又不可或缺。

上述清单,还只是纯粹涉及到编程开发,如果牵扯到设计方法和软件工程,那清单就长了。

<<代码大全>>, <<敏捷软件开发>>, <<设计模式>>, <<UML***>>序列

其实,写了那么多,只是勉为推荐。真正实施起来未必是那么回事。开发如绣花,必须得动手。光看不练,是不会有什么效果的。

分享到:
评论

相关推荐

    JNI开发Java和C/C++互相传递List集合

    JNI开发Java和C/C++互相传递List集合, 可以参考: Java从C/C++获取List集合对象:https://blog.csdn.net/niuba123456/article/details/80994166 Java传递List集合对象到C/C++ ...

    c/c++ 与java互通 AES加密解密,算法ECB

    最近需要和银行pos做数据通讯,银行端算法为java实现的 AES/ECB/PKCS5PADDING我也改不了, c/c++这边实现ECB算法本来就少,PKCS5PADDING的更是没有,索性自己动手。工作原因c和java都得熟悉,因此把java端和c/c++...

    基于C/C++/Java跨平台开发的Android蓝牙媒体服务器设计源码

    该项目为基于C/C++/Java跨平台的Android蓝牙媒体服务器设计源码,共计83个文件,涵盖25个C文件、24个头文件、14个Java源文件、9个XML布局文件、2个PNG资源文件、1个Git忽略文件、1个项目配置文件、1个音频文件以及1...

    《C/C++编写跨平台程序:实践篇》

    本书《C/C++编写跨平台程序:实践篇》主要面向已经具备一定C/C++基础的读者群体,旨在教授如何使用C/C++这一强大的编程语言来编写可以在多个操作系统上运行的跨平台程序。跨平台编程不仅需要对语言有深入理解,还要...

    C/C++程序员java编程

    《C/C++程序员Java编程》是一本专门为已经熟悉C或C++语言的程序员...通过阅读《C/C++程序员Java编程》,程序员不仅能掌握Java语言的基本知识,还能了解到Java平台的优势和开发流程,从而顺利完成从C/C++到Java的过渡。

    ndk源码基于eclipse开发c/c++/java

    在Android开发中,NDK(Native Development Kit)是一个重要的工具集,它允许开发者使用C/C++语言编写高性能、低级别的代码。本教程将基于Eclipse IDE来探讨如何进行NDK开发,包括Java与C/C++之间的互调用。 首先,...

    c/c++ 与java互通 AES加密解密,算法ECB/PKCS5PADDING

    最近需要和银行pos做数据通讯,银行端算法为java实现的 AES/ECB/PKCS5PADDING我也改不了, c/c++这边实现ECB算法本来就少,PKCS5PADDING的更是没有,索性自己动手。工作原因c和java都得熟悉,因此把java端和c/c++...

    FunCode开发平台总结最全的开发文档C/C++/Java

    我在网上找了很多的平台,也找了好多...里面有:海底世界,黄金矿工,拼图游戏,桌球,迷你高尔夫,弹弹堂,拍飞虫,打飞碟,坦克大战,太空战机,这里有最全的文档信息,c/c++/java,教程,以及案例和综合实训等内容。

    C语言/C++集成开发环境 Dev-C++

    7. **跨平台**:虽然Dev-C++最初是为Windows操作系统设计的,但通过使用MinGW(Minimalist GNU for Windows)或者Mingw-w64,它也可以在其他平台上运行,实现一定程度的跨平台开发。 8. **开源与社区支持**:由于...

    C++跨平台开发技术指南.pdf

    《C++跨平台开发技术指南》是一本专注于C++语言跨平台开发的实用技术书籍。这本书详细介绍了C++在不同操作系统上,如Windows、Mac OS和Linux上开发应用程序的策略和实践。跨平台开发是软件开发领域中的一个重要方面...

    Android项目下使用JNI进行C/C++和Java互相调用

    在Android开发中,JNI(Java Native Interface)是一个关键的技术,它允许Java代码和其他语言(如C/C++)的代码进行交互。本项目演示了如何在Android应用中使用JNI,实现C/C++与Java的双向调用。以下是关于这个主题...

    java与c/c++的区别

    总的来说,Java 与 C/C++ 各有优势,Java 更适合跨平台、快速开发和大型企业级应用,而C/C++则更适合对性能有极高要求、需要底层控制的场合。选择使用哪种语言取决于具体项目需求和团队技能集。在实际开发中,两者也...

    编程及C/C++初学者 FAQ

    ### 编程及C/C++初学者 FAQ #### 一、引言 本文档旨在帮助初学者快速上手C/C++编程语言,并解答在学习过程中可能遇到的各种常见问题。通过集中整理与解答这些问题,帮助读者更好地理解编程的基本概念,顺利运行...

    c/c++/java面试题海量汇总

    “C++笔试题”共计31套,“面试必备”(面试常见问题的应对、面试技巧等),“面试题汇总”(C++笔试题、Java笔试题、高质量C++C编程指南、软件测试),“c++面试宝典”,“面试题”共计10套。非常全,非常好的面试...

    最新版 eclipse for C/C++ 内含 CDT MINGW JRE

    Eclipse 是一个开源的、跨平台的集成开发环境(IDE),最初主要被设计用于Java语言开发,但后来通过插件扩展,支持了包括C/C++在内的多种编程语言。本压缩包提供的是“最新版的 Eclipse for C/C++”,这意味着它专为...

    C/C++/JAVA源代码统计器

    统计指定目录C/C++/JAVA源代码的代码行,注释行和空白行行数。可以用通配符(*和?)指定要统计的文件的类型,可以指定多个文件类型

    C/C++中文文档(支持C++20和C18)和蓝桥杯C/C++组用的文档

    这个文档压缩包包含普通C/C++中文文档和蓝桥杯比赛时用的文档,C/C++中文文档是最新版,支持到C++20和C18,且包含以前版本的内容。蓝桥杯蓝桥杯C/C++组用的文档比正常文档更简略,但包含了ASCII码表。

    使用JNI进行混合编程:在Java中调用C/C++本地库

    通过以上步骤,我们可以看到,JNI允许Java和C/C++代码无缝集成,实现了跨语言的混合编程。这不仅扩展了Java的功能,还能利用现有的C/C++库,提升程序性能。在实际项目中,我们应当注意内存管理、错误处理和平台兼容...

Global site tag (gtag.js) - Google Analytics