后记
可移植性是Java最引以为傲的地方, 编写一次,处处运行,但是C语言在诞生的时候也是以可移植性著称,但这种移植性是代码的可移植性, 不是程序的可移植性,比方说吧, hello.c 可以在windows上编译运行, 也可以在Linux上编译运行, 完全不用修改代码。当然,hello.c只是个非常简单的程序,像Windows、Linux上都有它的编译器和标准程序库, 那肯定可以移植了, 要是使用了系统平台的接口,就不好办了,就得针对每个平台写一套代码,然后用条件编译的方式来做。
C语言生来就是做系统级编程的,就是要贴近硬件,追求性能和效率,所以不能有虚拟机这样的抽象层,在虚拟机上运行,对程序员写代码非常友好,但是想要操作底层,需要用JNI这样的技术,也挺麻烦的。
C语言为了形成一个在机器上直接运行的可执行文件,需要一个链接的过程,而Java的class文件,因为可以在运行期链接,所以只要编译时能通过就可以了。
—— 图书推荐 ——
《码农翻身》
刘欣(@码农翻身) 著
本书讲了很多很多故事,在读故事的过程中就能轻松掌握相关技术,让你在畅快的阅读后,会有一种“原来如此”的感觉。
书中把计算机元素和行为用拟人手法编成一个个精彩纷呈的故事,绘声绘色且深入浅出地演绎晦涩枯燥的编程知识。学习优秀的架构师是如何思考、如何抽象、如何成长的,从操作系统、Java语言到Web技术,每个主题都深入浅出。
▲扫码获取本书详情▲
如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连
热文推荐
阿里云技术团队原创力作震撼上市,强力解析云上Kubernetes!如何为 MySQL 选择 CPU?
书单丨无惧停机故障,数据库异常不可怕
Python之父加入微软,一开口就知道是老“凡学家”了
▼点击阅读原文,获取本书详情!
本文分享自 博文视点Broadview 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!