仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3506|回复: 8
打印 上一主题 下一主题

[C++基础] 来讲讲:用C言语写的程序不平安

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 11:05:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
经常看到有人问用什么版本的linux好,其实只要你认真学习无论什么版本都挺好的。
  关于C言语内存办理亏弱的成绩几年前我们就会商过。有人试图辩驳,说古代各类操纵体系或runtime平台的前进,对内存办理的风险供应了各类回护,好比地点空间随机化,另有各类诸如Valgrind如许的工具能够发明内存会见bug,年夜年夜减弱伤害水平。我非常保举人人从头浏览一下那次会商。



  我的概念——事先和如今——都是C言语不合适用来写平安性请求高的程序,任何缺少内存反省机制的编程言语都不合适。很复杂,就是不合适。它们应当仅限于用来写一些小的中心体系,最好是小到能够用一些惯例的办法(被证实的办法)举行反省,一切别的的,包含全体使用逻辑,都应当用受控代码完成(比方C#,Java或别的的,我没有倾向)。
  心脏出血就是这类缺少界限反省酿成的了局的另外一个例子。它没法被Valgrind如许的工具反省出,由于它不是一般的被触发的举措——它必要是一种歹意的举动或是一种充足智能的测试协定才干发明(很难很难)。
  现实上,没有哪一个程序员可以伶俐到能够写出完整制止心脏出血如许的bug的程序。究竟,程序员的进修和编码存眷的是他们的程序的逻辑。在没有界限反省机制的编程言语里,逻辑大概会走错路,由于盘算机能够会见和实行恣意内存内容,这些内容是和你的程序里的代码和变量是不妨的。一切没有界限反省的编程言语将盘算机的多个维度表露给程序,假如你以为本人比OpenSSL开辟团队强、能很好的处置这类情形,那是掩耳盗铃。
  我们没法在软件中制止bug的存在,但我们能够堵住这些看起来无量无尽的bug的泉源。由于它,很早之前我们的互联网就蒙受了Morris蠕虫病毒的伤害。如今,2年的工夫里,天下70%的互联网流量都表露无疑,价值惨痛。假如不堵住这泉源,今后会让我们丧失更多。
  英文原文:TheHeartbleedBug
在linux中学习命令的最好办法是学习Shell脚本编程,Shell脚本比起其他语言来学习简单,但是功能却十分强大.通过学习Shell编程,能让你掌握大量的linux命令。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-18 07:47:30 | 只看该作者
只有全面撑握了这些工具.然后你学了语法..就要经常锻炼.写不好没关系.哪怕再小的程序..你写写改改
分手快乐 该用户已被删除
板凳
发表于 2015-1-25 16:29:37 | 只看该作者
简单的双重for循环就搞定的都要想半天那样,现在上研了,迫于实验室项目的需要,又重新拿起C++课本开始看。
地板
发表于 2015-2-3 11:42:20 | 只看该作者
这里面不涉及任何程序细节..只是详细地分析.这个软件出来是什么效果.怎么用,这就是需求..
再现理想 该用户已被删除
5#
发表于 2015-2-8 21:41:04 | 只看该作者
面向对象思想+CPP语法+算法+实践=学会,初期学习语法较重要,你写的代码编译器都“读”不懂,怎么行?
因胸联盟 该用户已被删除
6#
发表于 2015-2-26 11:40:07 | 只看该作者
关于用类来控制C++的内存分配,应该算是C++的一个高级技法。写的好的C++程序,基本看不到delete与new。因为这些内存的分配,销毁都让一特殊的类去管理。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-8 14:42:56 | 只看该作者
记住: 不要放了基础. 多实践. 学程序时养成好习惯. 这包括程序要写得清晰.明了.就像写作一样.
精灵巫婆 该用户已被删除
8#
发表于 2015-3-16 03:36:53 | 只看该作者
我也学习了几天VB,然后不敢示弱得心把我拉回去,也不知道怎么回事,有一天灵感光顾,就这样,轻松进门,只用了一周。以后学习数据库编程,Socket编程也遇到类似得情况,
乐观 该用户已被删除
9#
发表于 2015-3-22 20:06:45 | 只看该作者
事必躬行。初学者开始最爱犯得毛病就是看书不动手,尽信书不如无书(我也反对),语言和平台有关,任何平台都不是绝对支持标准。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:56

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表