华为root权限获取取opa831

怎样查oppo831手机是否有root权限_百度知道
怎样查oppo831手机是否有root权限
在工具箱里面你可以看见一键ROOT你说的给手机进行ROOT,打开手机的USB调试,那就可以用PC版应用宝来查询啦。这个你就先在电脑上安这个软件,连接之后,在我的手机选项里面找到工具箱,这样你就可以知道啦,如果你的手机进行了ROOT,那进去之后就提示你拉,那你就需要用一些软件来操作啦。你想查手机是否进行了ROOT
其他类似问题
按默认排序
其他1条回答
会造成以下损害:1 root或刷机会造成硬件部件损伤。3 root删除掉某些系统文件后。4。2 root可能导致系统文件丢失,默认是没有的哈,可能导致手机无法开机你好、Root之后不保修的~若您还有其他的问题咨询,root属于人为对机器进行更改,系统文件丢失可能导致升级失败,您可以进入OPPO企业平台向客服咨询提问喔
root权限的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁oppo831 手机好卡啊 怎么办 我想获取root权限删一些自带的软件 对手机有影响吗_百度知道
oppo831 手机好卡啊 怎么办 我想获取root权限删一些自带的软件 对手机有影响吗
我有更好的答案
按默认排序
支持机型多,欢迎向企业知道提问,如果您使用得当,是不会造成影响的您好,不妨使用下”卓大师一键Root“,很高兴为您解答,帮您轻松卸载系统内置应用和管理自启动项!root在能够删除系统内置软件的同时也可能由于对系统文件的误操作引起不稳定,成功率高,不过一般性的。如仍有疑问。如果需要。卓大师下载请百度“卓大师”即可
其他类似问题
root权限的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前访客身份:游客 [
爱读书 爱音乐 也爱 Coding
:Tip 9:数组名 和 指针的差别:可以再加个引用。...
:很向往,不过是梦想了
:引用来自“star_dust”的评论 刚发现,一直在挣扎...
:我要早看到就好了
:刚发现,一直在挣扎中努力着, 继续努力吧, 选择...
:痛定思痛 师夷长技
今日访问:4
昨日访问:5
本周访问:12
本月访问:17
所有访问:8781
列表模式: |
&&&&&&&&注:本文中操作,需 root 权限。
&&&&&&&&检查是否已安装 ntfs-3g
&&&&& & yum list ntfs-3g
&&&&& & yum install ntfs-3g.x86_64&
&&&&&&&&(注:选择合适的版本安装,需&root权限&)
&&&&& & 分别使用&fdisk -l;df -lh 命令确定ntfs分区。(需 root权限)
&&&&& & 如:/dev/sdb1 &对应windwos下的C盘
&&&&& & 在 /media/目录下,使用 mkdir 命令新建文件夹。(需 root权限)
&&&&& & 如: /media/C& & 对应Windows的C盘。
&&&&& & 配置 /etc/fstab 文件,实现开机自动挂载。(需 root权限)
&&&&&&&&vi /etc/fstab
&&&&& & 如:/dev/sda1 是Windows的C盘分区,挂载至 /media/C 目录下,则在 /etc/fstab中添加
&&&&&&&&/dev/sda1 /media/C ntfs-3g users,uid=1000,gid=100,fmask=0113,dmask=
发布于 3年前,
阅读(422) | 评论(0) |
投票(0) | 收藏(0)
& & Fedora16 默认采用&&引导,关于系统启动顺序的设置有了小的变化。
&&&&如果有多个系统、多个内核版本时,可以这样调整默认启动项:
& & &vi /boot/grub2/grub.cfg&
& & 将&set default=&0&&中的
改为要启动系统的序号即可。
& & 1:更改前,最好备份原文件。
& & 2:grub.cfg 默认为只读属性,更改后 使用 wq! 退出。
&&&& (或更改前先修改该文件权限,不推荐此方法)。
发布于 3年前,
阅读(1321) | 评论(0) |
投票(0) | 收藏(0)
NO 1:&&&&多重、复杂条件判断式 之 if 结构
&&&&& & if &[ 条件判断式 ]; then 中 if 与 [、 ] 间有空格;条件判断式与[、]间有空格;
&&&&&&&若条件表达式为 A == B一类的判定,则 A、B与 == 间有空格;
NO 2:& & 在 bash shell 中,if 语句中的 [ &]&是声明 test命令的一种方式。
&&&&& & 表达式可进行数值、字符串、文件三类的比较。
&&&&&&&&& 一:数值类比较,只能用来比较整数。
&&&&& &&& & 二:字符串比较时,有符号、命令两种方式。
&&&&&&&&& & &&&&&&&&符号比较,如 &、& 需加转义符号 \。&&& &&& &&
&NO 3: & &if then 结构中 双园括号表示数学表达式,双方括号表示高级字符处理函数
& & & & (( &expression &)):expression 为数学赋值表达式、数学比较表达式、自增、自减、
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&逻辑操作、位操作等。表达式中不必转义 &、 &操作符。
&&&&& & [[ &expression &]]:expression 除支持 test 命令中的字符串表较外,还支持模式匹配。
NO 4:& & while do done,until do done 循环体中采用 (( &)) 形式。
&&&&& & Ex:&&&&while [ &$a& != 10 ]
&&&&&&&&&&&&& && do
&&&&&&&&&&&&&&&&& & a=$(($a+1))
&&&&&&&&&&&&& & &done
NO 5: & &Shell 脚本的参数
& & & & 若参数为字符串,且字符串中有空格,则应使用 ' '&或& &;
&&&&& & 参数多于9个时,第9个参数后,必须用 { &} 将参数括起来。如: $&{&10&}、 $&{&12&}&等。
NO 6: & &特殊变量 $# 表示脚本参数的个数
& & & & 如:parameter=${ ! # }
&&&&&&&&当有参数时,parameter、${ ! # } 都指向最后一个参数。
&&&&& & 参数个数为 0 时,parameter 值为 0,${ ! # }&值为脚本文件名&等。
NO 7: &&&特殊变量&$* 、$@&
& & & & 都可用来一次显示所有参数;
&&&&& & 但在 for 循环迭代中,$* 将所有参数视为一个字符串, $@ 则迭代每个参数。
NO 8: &&&在脚本执行过程中,使用 read 获取用户输入&
& & & & read &参数列表
&&&&&&&&如:read &$param&,若 read 后无变量,则默认存储在 REPLY 中
& & & & -t &选项可指定 read 等待输入的秒数,当计数器计数满时,read 返回非零退出状态。
&&&&& & -s 选项,可使输入内容不显示(事实上,read命令将输出文本颜色设置成了背景色)。
NO 9: &&&空文件 null file&
& & & & 空文件 null file ,在 linux 系统中的位置是 /dev/null ,任何重定向到该文件的数据都会丢失。
&&&&& & 如: cat &/dev/null &filname,可以用来清空文件数据
NO 10: &&&Linux 系统 在预定时间运行程序、脚本的3种方法&
& & & & at 命令:在指定的时间点运行脚本。
&&&&& & batch 命令:在系统处在低负载水平时运行脚本。
&&&&& & cron 命令:周期式运行脚本。
&&&&& & Tips:
&&&&& & cron 程序从 cron表格 中查找需调度运行的 作业。cron 表格格式如下:
&&&&&&&&&&&&& & min &hour &dayofmonth &month &dayofweek &command
&&&&& & 也可包含 if - then 语句,如每月最后一天的某一时间运行程序、脚本:&&&&&&&
&&&&&&&&&&&&& & min &hour & * & * & * & if & &[ & `date & + & %d & -d & tomorrow` & = & 01 & ] &; &then &; &command
发布于 4年前,
阅读(91) | 评论(0) |
投票(0) | 收藏(2)
原载日《独立评论》第7号 & & &
& & & 这一两个星期里,各地的大学都有毕业的班次,都有得多的毕业生离开学校去开始他们的成人事业。
& & & 学生的生活是一种享有特殊优待的生活,不劣稚一点,不脸吵闹闹,社会都能纵容他们,不肯严格的要他们负行为的责任。现在他们要撑起自己的肩膀来挑他们自己的担子了。在这个国难最紧急的年头,他们的担子真不轻!我们祝他们的成功,同时也不忍不依据自己的经验,赠他们几句送行的赠言,--虽未必是救命毫毛,也许做个防身的锦囊罢!
& & & 你们毕业之后,可走的路不出这几条:绝少数的人还可以在国内或国外的研究院继续做学术研究;少数的人可以寻着相当的职业;此外还有做官,办党,革命三条路;此外就是在家享福或者失业亲居了。
& & & 走其余几条路的人,都不能没有堕落的危险。堕落的方式很多,总括起来,约有这两大类:
& & & 第一是容易抛弃学生时代求知识的欲望。你们到了实际社会里,往往学非所用,往往所学全无用处,往往可认完全用不着学问,而一样可认胡乱混饭吃,混官吃。在这种环境里即使向来抱有求知识学问的人,也不免心灰意懒,把求知的欲望渐渐冷淡下去。况且学问是要有相当的设备的;书籍,实验室,师友的切磋指导,闲暇的工夫,都不是一个平常要糊口养家的人的能容易办到的。没有做学问的环境,又谁能怪我们抛弃学问呢?
& & & 第二是容易抛弃学生时代理想的人生的追求。少年人初次和冷酷的社会接触,容易感觉理想与事实相去太远,容易发生悲观和失望。多年怀抱的人生理想,改造的热诚,奋斗的勇气,到此时候,好像全不是那么一回事了。渺小的个人在那强烈的社会炉火里,往往经不起长时期的烤炼就熔化了,一点高尚的理想不久就幻灭了。抱着改造社会的梦想而来,往往是弃甲抛兵而走,或者做了恶势的俘虏。你在那牢狱里,回想那少年气壮时代的种种理想主义,好像都成了自误误人的迷梦!从此以后,你就甘心放弃理想人生的追求,甘心做现在社会的顺民了。要防御这两方面的堕落,一面要保持我们求知识的欲望,一面要保持我们对人生的追求。
& & & 有什么好方法子呢?依我个人的观察和经验,有三种防身的药方是值得一试的。
& & & 第一个方子只有一句话:“总得时时寻一两个值得研究的问题!”问题是知识学问的老祖宗;古往今来一切知识的产生与积聚,都是因为要解答问题,--要解答实用上的困难和理论上的疑难。所谓“为知识而求知识”,其实也只是一种好奇心追求某种问题的解答,不过因为那种问题的性质不必是直接应用的,人们就觉得这是无所谓的求知识了。
& & & 我们出学校之后,离开了做学问的环境,如果没有一二个值得解答的问题在脑子里盘旋,就很难保持求学问的热心。可是,如果你有了一个真有趣的问题逗你去想他,天天引诱你去解决他,天天对你挑衅你无可奈何他,--这时候,你就会同恋爱一个女子发了疯一样,坐也坐不下,睡也睡不安,没工夫也得偷出工夫去陪她,没钱也得缩衣节食去巴结她。没有书,你自会变卖家私去买书;没有仪器,你自会典押衣物去置办仪器;没有师友,你自会不远千里去寻师访友。你只要有疑难问题来逼你时时用脑子,你自然会保持发展你对学问的兴趣,即使在最贫乏的知识中,你也会慢慢的聚起一个小图书馆来,或者设置起一所小试验室来。所以我说,第一要寻问题。脑子里没有问题之日,就是你知识生活寿终正寝之时!古人说,“待文王而兴者,凡民也。若夫豪杰之士,虽无文王犹兴。”试想伽利略 (GALIEO)和牛顿(NEWTON)有多少藏书?有多少仪器?他们不过是有问题而己。有了问题而后他们自会造出仪器来解决他们的问题。没有问题的人们,关在图书馆里也不会用书,锁在试验室里也不会有什么发现。
& & & 第二个方子也只有一句话:“总得多发展一点非职业的兴趣,”离开学校之后,大家总是寻个吃饭的职业。可是你寻得的职业未必就是你所学的,未必是你所心喜的,或者是你所学的而和你性情不相近的。在这种情况之下,工作往往成了苦工,就感觉不到兴趣了。为糊口而做那种非“性之所近而力之所能勉”的工作,就很难保持求知的兴趣和生活的理想主义。最好的救济方法只有多多发展职业以外的正当兴趣与活动。
& & & 一个人应该有他的职业,也应该有他非职业的玩艺儿,可以叫做业余活动。往往他的业余活动比他的职业还更重要,因为一个人成就怎样,往往靠他怎样利用他的闲暇时间。他用他的闲暇来打麻将,他就成了个赌徒;你用你的闲暇来做社会服务,你也许成个社会改革者;或者你用你的闲暇去研究历史,你也许成个史学家。你的闲暇往往定你的终身。英国十九世纪的两个哲人,弥儿(J.S.MILL)终身做东印度公司的秘书,然而他的业余工作使他在哲学上,经济学上,政治思想史上都占一个很高的位置; 斯宾塞(SPENCER)是一个测量工程师,然而他的业余工作使他成为前世纪晚期世界思想界的一个重镇。古来成大学问的人,几乎没有一个不善用他的闲暇时间的。特别在这个组织不健全的中国社会,职业不容易适合我们的性情,我们要想生活不苦痛不堕落,只有多方发展。
& & & 有了这种心爱的玩艺,你就做六个钟头抹桌子工作也不会感觉烦闷了,因为你知道,抹了六个钟的桌子之后,你可以回家做你的化学研究,或画完你的大幅山水,或写你的小说戏曲,或继续你的历史考据,或做你的社会改革事业。你有了这种称心如意的活动,生活就不枯寂了,精神也就不会烦闷了。
& & & 第三个方法也只有一句话:“你得有一点信心。”我们生当这个不幸的时代,眼中所见,耳中所闻,无非是叫我们悲观失望的。特别是在这个年头毕业的你们,眼见自己的国家民族沉沦到这步田地,眼看世界只是强权的世界,望极天边好像看不见一线的光明--在这个年头不发狂自杀,已算是万幸了,怎么还能够保持一点内心的镇定和理想的信任呢?我要对你们说:这时候正是我们要培养我们的信心的时候!只要我们有信心,我们还有救。
& & & 古人说:“信心(FAITH)可以移山。” 又说:“只要工夫深,生铁磨成绣花针。”你不信吗?当拿破仑的军队征服普鲁士,占据柏林的时候,有一位教授叫做费希特(FICHTE)的,天天在讲堂劝他的国人要有信心,要信仰他们的民族是有世界的特殊使命的,是必定要复兴的。费希特死的时候,谁也不能预料德意志统一帝国何时可以实现。然而不满五十年,新的统一的德意志帝国居然实现了。
& & & 一个国家的强弱盛衰,都不是偶然的,都不能逃出因果的铁律的。我们今日所受的苦痛和耻辱,都只是过去种种恶因种下的恶果。我们要收获将来的善果,必须努力种现在新因。一粒一粒的种,必有满仓满屋的收,这是我们今日应有的信心。我们要深信:今日的失败,都由于过去的不努力。我们要深信:今日的努力,必定有将来的大收成。
& & & 佛典里有一句话:“福不唐捐。”唐捐就是白白的丢了。我们也应该说:“功不唐捐!”没有一点努力是会白白的丢了的。在我们看不见想不到的时候,在我们看不见的方向,你瞧!你下的种子早已生根发叶开花结果了!你不信吗? 法国被普鲁士打败之后,割了两省地,赔了五十万万法朗的赔款。这时候有一位刻苦的科学家巴斯德(PASTEUR)终日埋头在他的化学试验室里做他的化学试验和微菌学研究。他是一个最爱国的人然而他深信只有科学可以救国。他用一生的精力证明了三个科学问题:(1)每一种发酵作用都是由于一种微菌的发展; (2)每一种传染病都是一种微菌在生物体内的发展;(3)传染病的微菌,在特殊的培养之下可以减轻毒力,使他们从病菌变成防病的药苗。
& & & 这三个问题在表面上似乎都和救国大事业没有多大关系。然而从第一个问题的证明,巴斯德定出做醋酿酒的新法,使全国的酒醋业每年减除极大的损失。从第二个问题的证明巴斯德教全国的蚕丝业怎样选种防病,教全国的畜牧农家怎样防止牛羊瘟疫,又教全世界怎样注重消毒以减少外科手术的死亡率。从第三个问题的证明,巴斯德发明了牲畜的脾热瘟的疗治药苗,每年替法国农家减除了二千万法朗的大损失;又发明了疯狗咬毒的治疗法,救济了无数的生命。所以英国的科学家赫胥黎 (HUXLEY)在皇家学会里称颂巴斯德的功绩道:“法国给了德国五十万万法朗的赔款,巴斯德先生一个人研究科学的成就足够还清这一笔赔款了。” 巴斯德对于科学有绝大的信心,所以他在国家蒙奇辱大难的时候,终不肯抛弃他的显微镜与试验室。他绝不想他有显微镜底下能偿还五十万万法朗的赔款,然而在他看不见想不到的时候,他已收获了科学救国的奇迹了。
& & & 朋友们,在你最悲观失望的时候,那正是你必须鼓起坚强的信心的时候。你要深信:天下没有白费的努力。成功不必在我,而功力必不唐捐。
发布于 4年前,
阅读(132) | 评论(1) |
投票(0) | 收藏(1)
声明:本文内容来源于网络,如有异议,请留言...
--------------------------------------------------------------------------------------------------------------------------------
1、 Dinkumware C++ Library
参考站点:
P.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。
2、 RogueWave Standard C++ Library
参考站点:
这个库在Borland C++ Builder的早期版本中曾经被采用,后来被其他的库给替换了。笔者不推荐使用。
3、SGI STL
参考站点:
SGI公司的C++标准模版库。
4、STLport
参考站点:
SGI STL库的跨平台可移植版本。
5、准标准库——Boost
Boost 库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的&准&标准库。
Boost中比较有名气的有这么几个库:
Regex& 正则表达式库
Spirit& LL parser framework,用C++代码直接表达EBNF
Graph& 图组件和算法
Lambda& 在调用的地方定义短小匿名的函数对象,很实用的functional功能
Concept check& 检查泛型编程中的concept
MPL& 用模板实现的元编程框架
Thread& 可移植的C++多线程库
Python& 把C++类和函数映射到Python之中
Pool& 内存池管理
Smart_ptr& 5个智能指针,学习智能指针必读,一份不错的参考是来自CUJ的文章:
Smart Pointers in Boost,哦,这篇文章可以查到,CUJ是提供在线浏览的。中文版见笔者在《Dr. Dobb's Journal软件研发杂志》第7辑上的译文。
Boost 总体来说是实用价值很高,质量很高的库。并且由于其对跨平台的强调,对标准C++的强调,是编写平台无关,现代C++的开发者必备的工具。但是Boost 中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。并且很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。
参考站点:(国内镜像:) --------------------------------------------------------------------------------------------------------------------------------
& 在众多C++的库中,GUI部分的库算是比较繁荣,也比较引人注目的。在实际开发中,GUI库的选择也是非常重要的一件事情,下面我们综述一下可选择的GUI库,各自的特点以及相关工具的支持。 1) MFC 大名鼎鼎的微软基础类库(Microsoft Foundation Class)。大凡学过VC++的人都应该知道这个库。虽然从技术角度讲,MFC是不大漂亮的,但是它构建于Windows API 之上,能够使程序员的工作更容易,编程效率高,减少了大量在建立 Windows 程序时必须编写的代码,同时它还提供了所有一般 C++ 编程的优点,例如继承和封装。MFC 编写的程序在各个版本的Windows操作系统上是可移植的,例如,在 Windows 3.1下编写的代码可以很容易地移植到 Windows NT 或 Windows 95 上。但是在最近发展以及官方支持上日渐势微。 2) QT 参考网站: Qt 是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,同时它还支持Windows、Macintosh、Unix/X11等多种平台。 3) WxWindows 参考网站: 跨平台的GUI库。因为其类层次极像MFC,所以有文章介绍从MFC到WxWindows的代码移植以实现跨平台的功能。通过多年的开发也是一个日趋完善的 GUI库,支持同样不弱于前面两个库。并且是完全开放源代码的。新近的C++ Builder X的GUI设计器就是基于这个库的。 4) Fox 开放源代码的GUI库。作者从自己亲身的开发经验中得出了一个理想的GUI库应该是什么样子的感受出发,从而开始了对这个库的开发。有兴趣的可以尝试一下。 参考网站: 5)&& WTL 基于ATL的一个库。因为使用了大量ATL的轻量级手法,模板等技术,在代码尺寸,以及速度优化方面做得非常到位。主要面向的使用群体是开发COM轻量级供网络下载的可视化控件的开发者。 6)&& GTK 参考网站: GTK是一个大名鼎鼎的C的开源GUI库。在Linux世界中有Gnome这样的杀手应用。而GTK就是这个库的C++封装版本。
--------------------------------------------------------------------------------------------------------------------------------
参考网站:
C++库的代表,超重量级的网络通信开发框架。ACE自适配通信环境(Adaptive Communication Environment)是可以自由使用、开放源代码的面向对象框架,在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ 包装外观(Wrapper Facade)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。
2) StreamModule
参考网站:
设计用于简化编写分布式程序的库。尝试着使得编写处理异步行为的程序更容易,而不是用同步的外壳包起异步的本质。
3) SimpleSocket
参考网站:
这个类库让编写基于socket的客户/服务器程序更加容易。
4) A Stream Socket API for C++
参考网站:
又一个对Socket的封装库。
--------------------------------------------------------------------------------------------------------------------------------
参考网站:
Xerces-C++ 是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM API。XML验证在文档类型定义(Document Type Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C XML Schema 的基本完整的开放标准。
2) XMLBooster
参考网站:
这个库通过产生特制的parser的办法极大的提高了XML解析的速度,并且能够产生相应的GUI程序来修改这个parser。在DOM和SAX两大主流XML解析办法之外提供了另外一个可行的解决方案。
3) Pull Parser
参考网站:
这个库采用pull方法的parser。在每个SAX的parser底层都有一个pull的parser,这个xpp把这层暴露出来直接给大家使用。在要充分考虑速度的时候值得尝试。
参考网站:
Xalan是一个用于把XML文档转换为HTML,纯文本或者其他XML类型文档的XSLT处理器。
5) CMarkup
参考网站:
这是一种使用EDOM的XML解析器。在很多思路上面非常灵活实用。值得大家在DOM和SAX之外寻求一点灵感。
6) libxml++
libxml++是对著名的libxml XML解析器的C++封装版本&
--------------------------------------------------------------------------------------------------------------------------------
1) Blitz++
参考网站:
Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++ 一样方便,同时又比Fortran速度更快的数值计算环境。通常,用C++所写出的数值程序,比 Fortran慢20%左右,因此Blitz++正是要改掉这个缺点。方法是利用C++的template技术,程序执行甚至可以比Fortran更快。 Blitz++目前仍在发展中,对于常见的SVD,FFTs,QMRES等常见的线性代数方法并不提供,不过使用者可以很容易地利用Blitz++所提供的函数来构建。
参考网站:
POOMA是一个免费的高性能的C++库,用于处理并行式科学计算。POOMA的面向对象设计方便了快速的程序开发,对并行机器进行了优化以达到最高的效率,方便在工业和研究环境中使用。
参考网站:
Matrix Template Library(MTL)是一个高性能的泛型组件库,提供了各种格式矩阵的大量线性代数方面的功能。在某些应用使用高性能编译器的情况下,比如Intel的编译器,从产生的汇编代码可以看出其与手写几乎没有两样的效能。
参考网站:
Computational Geometry Algorithms Library的目的是把在计算几何方面的大部分重要的解决方案和方法以C++库的形式提供给工业和学术界的用户。
--------------------------------------------------------------------------------------------------------------------------------
1) Audio/Video 3D C++ Programming Library
参考网站:
AV3D是一个跨平台,高性能的C++库。主要的特性是提供3D图形,声效支持(SB,以及S3M),控制接口(键盘,鼠标和遥感),XMS。
参考网站:
国内游戏开发高手自己用C++开发的游戏引擎。KlayGE是一个开放源代码、跨平台的游戏引擎,并使用Python作脚本语言。KlayGE在LGPL协议下发行。感谢龚敏敏先生为中国游戏开发事业所做出的贡献。
参考网站:
OGRE (面向对象的图形渲染引擎)是用C++开发的,使用灵活的面向对象3D引擎。它的目的是让开发者能更方便和直接地开发基于3D硬件设备的应用程序或游戏。引擎中的类库对更底层的系统库(如:Direct3D和OpenGL)的全部使用细节进行了抽象,并提供了基于现实世界对象的接口和其它类。
--------------------------------------------------------------------------------------------------------------------------------
& 1) C++ Threads 参考网站: 这个库的目标是给程序员提供易于使用的类,这些类被继承以提供在Linux环境中很难看到的大量的线程方面的功能。 2) ZThreads 参考网站: 一个先进的面向对象,跨平台的C++线程和同步库。
--------------------------------------------------------------------------------------------------------------------------------
参考网站:
一个基于STL的C++库,用于序列化POD,STL容器以及用户定义的类型。
2) Simple XML Persistence Library
参考网站:
这是一个把对象序列化为XML的轻量级的C++库。
--------------------------------------------------------------------------------------------------------------------------------
1) C++ Str Library
参考网站:
操作字符串和字符的库,支持Windows和支持gcc的多种平台。提供高度优化的代码,并且支持多线程环境和Unicode,同时还有正则表达式的支持。
2) Common Text Transformation Library
参考网站:
这是一个解析和修改STL字符串的库。CTTL substring类可以用来比较,插入,替换以及用EBNF的语法进行解析。
参考网站:
这是由微软研究院的研究人员开发的处理正则表达式的库。在小型匹配的情况下有非常优秀的表现。
--------------------------------------------------------------------------------------------------------------------------------
1) P::Classes
参考网站:
一个高度可移植的C++应用程序框架。当前关注类型和线程安全的signal/slot机制,i/o系统包括基于插件的网络协议透明的i/o架构,基于插件的应用程序消息日志框架,访问sql数据库的类等等。
2) ACDK - Artefaktur Component Development Kit
参考网站:
这是一个平台无关的C++组件框架,类似于Java或者.NET中的框架(反射机制,线程,Unicode,废料收集,I/O,网络,实用工具,XML,等等),以及对Java, Perl, Python, TCL, Lisp, COM 和 CORBA的集成。
3) dlib C++ library
参考网站:
各种各样的类的一个综合。大整数,Socket,线程,GUI,容器类,以及浏览目录的API等等。
4) Chilkat C++ Libraries
参考网站:
这是提供zip,e-mail,编码,S/MIME,XML等方面的库。
5) C++ Portable Types Library (PTypes)
参考网站:
这是STL的比较简单的替代品,以及可移植的多线程和网络库。
参考网站:
哦,这又是一个尝试提供一切的C++库
--------------------------------------------------------------------------------------------------------------------------------
参考网站:
哦,你可能抱怨我早该和Boost一起介绍它,一个实验性质的库。作者在loki中把C++模板的功能发挥到了极致。并且尝试把类似设计模式这样思想层面的东西通过库来提供。同时还提供了智能指针这样比较实用的功能。
ATL(Active Template Library)是一组小巧、高效、灵活的类,这些类为创建可互操作的COM组件提供了基本的设施。
3) FC++: The Functional C++ Library
这个库提供了一些函数式语言中才有的要素。属于用库来扩充语言的一个代表作。如果想要在OOP之外寻找另一分的乐趣,可以去看看函数式程序设计的世界。大师 Peter Norvig在 &Teach Yourself Programming in Ten Years&一文中就将函数式语言列为至少应当学习的6类编程语言之一。
参考网站:
另外一个实现函数式语言特性的库
5) Crypto++
提供处理密码,消息验证,单向hash,公匙加密系统等功能的免费库。
(tyc611:说到密码库,其它还有很多其它有名的,比如Miracl、OpenSSL、TomLib等)
6) Managed C++ wrapper for ZLib
压缩组件Zlib的C++类库
7) CppSQLite - C++ Wrapper for SQLite
SQLite C++封装库
图像格式转换
--------------------------------------------------------------------------------------------------------------------------------
Loki : Anders Alexandr的代码库,设计精巧,提供智能指针,Functor,TypeList等。 QT : 本来是完美的C++ GUI库,可惜对于商业开发要收取版权费,动辄上千美元,惹不起。 Xerces : XML代码库,估计是除.Net Framework的System.XML外最好使的XML库了,对于C++程序员,如果需要完善的XML Core Level3支持,跨平台的,免费的XML库,那就是它了。不过体积可不小。 Xalan : XML XSLT支持库,配合Xerces使用,Apache的一贯传统,大而全。 TinyXml : 如果您的XML只需要支持Ansi和UTF8编码,只需要做些简单的XML解析,TinyXML是很好的选择,小而精。 ICU : IBM的Unicode实现,有JAVA和C++/C两种版本,支持各种编码,国际化和本地化功能,但是,很庞大,8M左右。 libiconv : GNU的UNICODE实现,提供各种字符集到UNICODE之间的转换功能,1M左右。 cURL : 从名字可以看出来,c操作URL资源的库,完善支持HTTP,SHTTP,FTP等协议,比WinINet好使,与正在“烟酒”中的WinHTTP有一拼。 FreeImage: 非常完善的图像处理库,设计非常好,用插件的方式支持多种图像格式,GIF因版权问题除外。 IT++: 专业的数学库。 GC6.2: C++垃圾回收器,很好使。GCC自带,Mono中使的也是它。 libpdf : 生成PDF文件的库,可惜不能读入编辑PDF文件。
--------------------------------------------------------------------------------------------------------------------------------
发布于 4年前,
阅读(379) | 评论(0) |
投票(0) | 收藏(5)
&Djview 是&Djvu&文件阅读器,目前最新版本是 Djview 4.7。
&Djview 4.7 在&RHEL6.1 中的安装方法:
Step 1:安装 Djvulibre&
& & & & & & & 下载地址:
# tar -zxvf djvulibre-3.5.24.tar.gz
# cd djvulibre-3.5.24
# ./configure
# make install
然后,设置&djvulibre 相关信息:
# cd /usr/include
# ln -s /usr/local/include/libdjvu libdjvu
# cd /usr/lib
# ln -s /usr/local/lib/libdjvulibre.so.21 libdjvulibre.so.21
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# pkg-config --libs ddjvuapi
-L/usr/local/lib -ldjvulibre
则设置成功。
Step 2:安装 Djview 4.7
& & & & & & & 下载地址:
# tar -zxvf djview-4.7.tar.gz
# cd djview-4.7
# ./configure
# make install
安装结束...
第一次使用时,选中 djvu 文件,然后&右键& -- &使用其他程序打开&&-- “自定义命令”&-- “打开”。
此后,打开 djvu 文件时,只需选中文件,然后&右键& -- &使用djview打开& 即可.
关于 Djvu 详见:
发布于 4年前,
阅读(271) | 评论(0) |
投票(0) | 收藏(0)
准备工作:UltraISO、rhel-server-6.0-i386-boot.iso、rhel-server-6.1-i386-dvd.iso、容量大于或等于4G的U盘&
Step 1:用 UltraISO 打开 rhel-server-6.0-i386-boot.iso ,点击 “启动” -- “写入硬盘映像...”,使U盘成为启动U盘。&
Step 2:将 rhel-server-6.1-i386-dvd.iso 重命名为 rhel-server-6.0-i386-dvd.iso,并复制到 U盘中。&
Step 3:重启计算机,选择 U盘启动,即可正常安装。
发布于 4年前,
阅读(2537) | 评论(0) |
投票(0) | 收藏(1)
安装方法:
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.$(uname -i).rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.$(uname -i).rpm
# yum install wxGTK-2.8.10 cryptopp gd
# rpm -Uvh amule-2.2.6-1geekery.$(uname -i).rpm
发布于 4年前,
阅读(358) | 评论(1) |
投票(0) | 收藏(1)
一、伯克利 加州大学伯克利分校& 作为美国第一的公立大学,伯克利分校提供了,可以跟踪最新的讲座。想看教授布置的作 业和课堂笔记,可以点击该教授的网页,通常,他/她都会第一堂课留下网址。实在不行, 用google搜搜吧! 伯克利的视频都是.rm格式,请注意转换 二、麻省 麻省理工学院& 麻省理工是免费开放教育课件的先驱,计划在今年把1800门课程的课件都放在网站上 ,提供课程与作业的PDF格式下载。三是,麻省理工只提供少数的视频讲座。坐过学生 上麻省有一个绝对优势,麻省理工在中国大陆和中国台湾都建立了镜像网站,把麻省的课 程都翻译成立中文。鉴于PDF格式,推荐使用FoxIt Reader。 www.(中国大陆)推荐 www.myoops.org(中国台湾) 二、卡耐基梅隆& 卡耐基梅隆针对初入大学的大学生,提供10门学科的课程视频。与其他大学的免费课程 一样,非卡耐基梅隆的学子能学习课程,但是为了使学生能够及时了解自己的课程进度, 卡耐基梅隆建议造访者在网站上注册,建立自己的资料库。这样一来,你得在有限的时间 内完成一门课程,还要参加几次考试,当然,即使你得了100分,卡耐基梅隆也不会给 你开证明,更不会给你学分。
四、犹他 犹他大学& 犹他大学类似于麻省理工,提供大量的课程课件
五、塔夫茨 塔夫茨大学& 塔夫茨大学也是“开放式教育课程”的先驱之一,初期提供的课程着重在本校专长的生命 科学、跨领域方法、国际观点以及对美国地区性、全国性社群服务的基础理论。
六、公开 英国公开大学& 英国十几所大学联合起来,组建了英国公开大学。有一部分课程是对注册学生开放的,但 是有一批很好的课程是免费的,并提供视频。每门课还设立了论坛,在社区中,大家发表 意见,提供其他的学习资源,互相取经。在这个网站里,最能锻炼自学者的能力,因为你 要不停地淘,才能找到宝贝。
七、约翰霍普金斯 约翰霍普金斯& 只有极少数人能够进入约翰霍普金斯大学就读,但是,现如今有动机的人不用花一分钱, 便能通过网站获得该校的前沿知识。约翰霍普金斯提供了本学院最受欢迎的课程,包括青 少年健康、行为和健康、生物统计学、环境、一般公共卫生、卫生政策、预防伤害、母亲 和儿童健康、心理卫生、营养、人口科学、公共卫生准备和难民卫生等。
八、Connexions
CNX.org由莱斯大学开发,号称是课程资源免费共享图书馆。与其他大学不同的事,CNX邀 请教授学者建立自己的社区,把自己的最新成果公布于世,接受大家的评价。可以说CNX开 辟了大学资源共享的新天地,尤其适合自学能力超强的大学生。有些课程有中文版。
九、索菲亚 索菲亚大学& 无论是想当一名管理者、作家、评论员、还是要从事设计和IT业的人,索菲亚大学的免费 课程肯定让你受益匪浅。索菲亚大学提供了8门学科的课程,其中《企业网络安全实战》已 翻译成中文。
十、华盛顿 华盛顿大学& 华盛顿大学的计算机工程学比较强,相关的几百门课程都已经放到网上。不但本科生能找 到所需要的课程,连研究生也能淘到宝贝。该网站还提供特色讲座,比如:妇女、计算机 与合作。课程不但提供讲座介绍、课堂笔记、有些课程还提供视频。
牛津、斯坦福、耶鲁大学联合网站
哥伦比亚大学
伯克利音乐学院
杜克大学法律中心
英国格雷莎姆学院
加州大学Irvine分校
富布莱特学校
日本东京大学
日本早稻田大学
日本大阪大学
法国巴黎高科
再给个看大学视频播客的
斯坦福大学& 加州大学伯克利分校 普渡大学 美国西南理工 加州大学洛杉矶分校 西肯塔基大学 Dupage学院 纽约城市大学 莱斯大学 加州大学圣地亚哥分校 剑桥大学 美国大学华盛顿法律学院& 杜克大学法律学院 乔治敦大学& 芝加哥大学商学院& 波士顿学院& 哈佛商学院在线
AKRGWDR5VQBKE0YIISW 威斯康星麦迪逊大学& 约翰霍普金斯大学& 伦敦政治经济学院& 普林斯顿大学& 英国泰晤士报MBA& 耶鲁大学&
发布于 4年前,
阅读(170) | 评论(1) |
投票(0) | 收藏(10)
Mplayer 多用播放器,支持多种格式的音频、视频文件。
Step 1:&下载解码包
# wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-.tar.bz2& & 解压,并将解压后的文件夹移至 &/usr/lib/codecs&下
# tar jxvf all-.tar.bz2
all- /usr/lib/codecs
Step 2: 下载 Mplayer&
# wget http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc4.tar.bz2& &&解压,并转到解压后的文件夹目录
# tar jxvf MPlayer-1.0rc4.tar.bz2
# cd MPlayer-1.0rc4
&&&&编译、安装
# ./configure
# make install安装结束...
发布于 4年前,
阅读(1206) | 评论(0) |
投票(0) | 收藏(1)
一& & 到英伟达官网下载相应的显卡驱动
&&&&查看显卡信息:
lspci | grep VGA
&&&&英伟达官网:
二& & 修改配置文件
& & 安装英伟达驱动时, 需要禁止加载&Nouveau&驱动
&& & 操作方法:
& & 修改&blacklist.conf&文件
vi /etc/modprobe.d/blacklist.conf
&&&&&在文件末尾添加&&blacklist nouveau& &
&&&&&禁修改 grub 驱动
vi /etc/grub.conf&&& &在&
kernel&版本那行末加入:
nouveau.modeset=0 rdblacklist=nouveau& & 更改启动方式
vi /etc/inittab&&&&将 id:5:initdefault: &修改为&id:3:initdefault:&
& & 然后选择重启.
& 三& & 安装驱动
& && & 重启后, 登录 root 帐户
&&&&& &使用 cd 命令转到驱动文件的目录.
sh ./驱动文件名&& && & 根据提示安装
四& & 安装完成后
&&&&& & 输入
init 5&&&&& & 登录 &root 帐户
&&&&& & 找到&/etc目录下的 inittab 文件
&&&&&&&&将 id:3:initdefault: &修改为&id5:initdefault:&
&&&&&&&&安装成功...
发布于 4年前,
阅读(324) | 评论(0) |
投票(0) | 收藏(0)
问题:& &&&&& #&mount –t ntfs /dev/sdb1 /mnt/& &&&&& mount: unknown filesystem type ‘ntfs’& &&&&& 这是由于CentOS release 5.5(Final)上无法识别NTFS格式的分区。&
解决办法:& &&&&& 通过使用 ntfs-3g 来解决。& &&&&& 打开ntfs-3g的下载点&,将最新稳定(当前最新版本为&)下载到CentOS,执行以下命令安装:& &&&&& 1) 编译安装 ntfs-3g: # tar zxvf& ntfs-3g-.tgz # cd ntfs-3g- #./configure #make #make install 已经安装完成啦!!
1. mount命令& mount -t 文件格式 -o 选项参数 磁盘分区挂载点目录名& 比如:mount -t vfat -o iocharset=utf8,umask=000 /dev/hda5&/mnt/D 再如:mount -t ntfs -o nls=utf8,umask=000 /dev/hdd1 /mnt/sysc& 但到这里出现了问题,首先是我的系统不识别该文件格式NTFS,其次是你会问:&你怎么知道外挂的那个系统盘C就是hdd1?&是阿,请继续...
&&2.判断哪个分区是NTFS格式,加载NTFS分区; &&[root@localhost kalon]# /sbin/fdisk -l
Disk /dev/sda: 120.0 GB,
bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x21d3ce88
&& Device Boot&&&&& Start&&&&&&&& End&&&&& Blocks&& Id& System /dev/sda1&& *&&&&&&&&&& 1&&&&&&&&& 26&&&&& 204800&& 83& Linux Partition 1 does not end on cylinder boundary. /dev/sda2&&&&&&&&&&& 5223&&&&&& 14593&&& +&& f& W95 Ext'd (LBA) /dev/sda3&&&&&&&&&&&&& 26&&&&&&& 4700&&& && 83& Linux /dev/sda4&&&&&&&&&&& 4700&&&&&&& 5222&&&& 4194304&& 82& Linux swap / Solaris /dev/sda5&&&&&&&&&&& 5223&&&&&& 14593&&& &&& 7& HPFS/NTFS
Partition table entries are not in disk order
Disk /dev/sdb: 160.0 GB,
bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xf0b1ebb0
&& Device Boot&&&&& Start&&&&&&&& End&&&&& Blocks&& Id& System /dev/sdb1&& *&&&&&&&&&& 1&&&&&&& 2611&&& &&& 7& HPFS/NTFS /dev/sdb2&&&&&&&&&&& 2612&&&&&& 19456&& +&& f& W95 Ext'd (LBA) /dev/sdb5&&&&&&&&&&& 2612&&&&&&& 5875&&& +&& 7& HPFS/NTFS /dev/sdb6&&&&&&&&&&& 5876&&&&&& 15539&&& +&& 7& HPFS/NTFS /dev/sdb7&&&&&&&&&& 15540&&&&&& 19456&&& &&& 7& HPFS/NTFS .............................................................................................................. 现在进入NTFS的分区的加载过程;通过上面的查看,我们知道/dev/sda5是NTFS格式的; 1]我们要建一个挂载点的目录,比如是在/mnt/目录下建一个&win1&的目录:& [root@localhost kalon]# mkdir /mnt/win1& 2]把/dev/&sda5&挂载到 /mnt/&win1&中,这样我们如果查看/dev/&sda5磁盘内容时,就会在/mnt/&win1&中找得到;& [root@localhost kalon]#&mount -t ntfs-3g -o nls=utf8,umask=000 /dev/sda5 /mnt/win1 注:&-t ntfs 说明文件系统的格式是ntfs的;-o是选项 ,nls=utf8 ,意思是Native Language Support(本地语言支持)是utf8,也就是大家常说的语言编码,也可以换成iocharset=utf8;Fedora core 4.0 默认的语言编码就是utf8的,这样能显示出中文来;umask=000表示所有的用户组都可读可写,但因为NTFS在Linux中写入不安全,所以只能 读,不能写入; 是不是挂载好了呢?.... 2.dh -lh 磁盘使用情况命令& &&[root@localhost kalon]# df -lh 文件系统&&&&&&&&&&&&& 容量& 已用& 可用 已用%% 挂载点 /dev/sda3&&&&&&&&&&&&& 36G& 4.4G&& 30G& 13% / tmpfs&&&&&&&&&&&&&&& 1012M& 1.7M 1010M&& 1% /dev/shm /dev/sda1&&&&&&&&&&&& 194M&& 24M& 161M& 13% /boot /dev/sda5&&&&&&&&&&&&& 72G& 1.4G&& 71G&& 2% /mnt/win1 ..........................说明已挂载好,可以cd /mnt/sysc/去看看了,余下的我就不多说了 ................................. ............................................................................................................................................................ &&开机分区自动挂载:应把一下命令放入/etc/fstab中& /dev/sda5 /mnt/win1&ntfs-3g umask=000,iocharset=utf8 0 0& &&cp -r -f srcDir dstDir //复制目录文件,使用时去掉 && &&rm -rf dstDir //删除目录文件 ,使用时去掉 && &&....... 2.umount命令
如果想卸载已经挂载好的目录或盘符,可输入以下命令:
[root@localhost kalon]#&umount& /mnt/win1
发布于 4年前,
阅读(525) | 评论(0) |
投票(0) | 收藏(0)
新的编译器格式:
#include &iostream&
旧的编译器格式:
#include &iostream.h&
注:旧的编译器格式中,包含头文件后,不添加 “using namespace std”
解决方法:在main() 的return 语句前添加 cin.get() 语句;
有时需添加两行这样的代码。
注:cin.get() ,可以读取空格、制表符和换行符。
&&&&&&&& M1:将 放在函数定义之前,让文件中所有的函数都能够使用名称空间 std 中所有的元素
&&&&&&&& M2:将 放在函数定义中,这样该函数能使用命名空间中所有的元素
&&&&&&&& M3:在特定的函数中使用 using std:: 这样的命令而不是 让该函数能够使用指定的元素,如cout
&&&&&&&& M4:完全不使用变异命令 using , 在需要使用名称空间 std 中的元素时,使用前缀 std:: ,如下所示
std::cout && “In This Way” && std::
l声明语句——定义函数中使用的变量的名称和类型
l赋值语句——使用复制操作符 (=) 给变量赋值
l消息语句——将消息发送给对象,激发某种行动
l函数调用——执行函数.被调用的函数执行完毕后,程序返回到函数调用语句后面的语句
l函数原型——声明函数的返回类型、函数接受的参数数量和类型
l返回语句——将一个值从被调用的函数那里返回到调用函数中
&&&&&&&& C++允许拼接 “字符串常量”,任何两个由空白(空格、制表符、换行符)分隔的字符串常量都将自动拼接成一个。
下列语句等效
cout && “Hello World” &&
cout && “Hello” “ World” &&
cout && “Hello”
“ World” &&
cout && “Hello”
&&&&&&&&“ World” &&
lsizeof() 返回值是 整个数组的长度;而strlen() 返回的是字符数组中字符串的长度(strlen() 只计算可见字符,不把空字符 ‘\0’ 计算在内),而不是数组的长度。
如:存放 ”cosmic” 时,字符数组长度应不小于 strlen( cosmic ) + 1 。
&&&&&&&& C++中值为的指针被称为空指针(null pointer),C++确保空指针不会指向有效的数据。
&&&&&&&& 因此,空指针常被用来表示操作符或函数失效。
&&&&&&&& 数组名是常量,存放的是数组首个元素的地址,不能修改数组名的值;
&&&&&&&& 指针是变量,可以改变它的值。
&&&&&&&& 上限:找到枚举量的最大值,然后找到大于这个最大值的、最小的2的幂,将它减去1,
得到的便是上限
&&&&&&&& 下线:找到枚举量的最小值,如果它小于,则下限为;若它小于,先忽略符号,按照上面的方法,得到上限,再加上负号,就得到下限。
&&&&&&&& 发送给cin的输入被缓冲,也就是说,只有当用户按下回车键后,才会将以输入的内容发送给程序;而且,cin 会忽略输入的空格和换行符。
如下列程序中:
输入:Hello world this is my # test program
输出:Helloworldthisismy
若要获取输入的空格或换行符,应使用cin.get (char) ;
&&注:使用cin 读取字符时,会忽略空格;
&&&&&&&& 若要检查每个字符(包括空格、制表符、换行符),应使用cin.get( ch )。
下列语句中,&pa是一个指针,pb是一个整型变量
INT_POINTER
INT_POINTER
&&&&&&&& 如果关键字const 出现在 * 的左边, 表示被指物是常量;
如果关键字const 出现在 * 的右边, 表示指针自身是常量
如果出现在 * 的两边, 表示 被指物 和 指针 两者都是常量.&
两种写法一样, pi指向一个常量
l使用const 可以避免无意中修改数据的编程错误
l使用const 使函数能够处理 const和 非const 实参,否则将只能接受与非const数据
l使用const 引用使函数能够正确生成并使用临时变量
l程序员能够修改调用函数中的数据对象
l通过传递引用而不是整个数据对象,可以提高程序的运行速度。
注:当数据对象较大时 (如结构和类对象),第二个原因最重要。这些也是使用指针参数的原因。 这是有道理的,因为,引用参数实际是基于指针的代码的另一个接口。
对于使用传递的值而不做修改的函数:
l如果数据对象很小,如内置数据类型或小型结构,则按值传递。
l如果数据对象是数组,则使用指针,因为这是唯一的选择,并将指针声明为指向const的指针
l如果数据对象是较大的结构时,则使用const指针或const引用,以提高程序效率,这样可以节省复制结构所需的时间和空间
l如果数据对象是类对象,则使用const 引用。类设计的语义常常要求使用引用,这是C++新增这项特性的主要原因,因此,传递类对象参数的标准方式是按引用传递。
&& 对于修改调用函数中数据的函数:
l如果数据对象是内置数据类型,则使用指针。如果看到诸如fixit (& x) 这样的代码,(其中 x 是int型),则很明显,该函数将修改x
l如果数据对象是数组,则只能使用指针。
l如果数据对象是结构,则使用引用或指针
l如果数据对象是类对象,则使用引用
&&&&&&&& C++规定,对象的成员变量的初始化动作发生在进入构造函数本体之前。
&&&&&&&& 因此,正确的初始化方式为:
class Apple
&&&&Apple();
&&&&Apple(string tmp):color(tmp)
// 初始化 ( initializations )
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 构造函数本体不必有任何动作
class Empty
Empty() { … } &&&&&&&&&&&&&&&&&&&&&&&&&&&&// default 构造函数
Empty(const Empty& rhs) { … } &&&&&&&&&&&&// copy 构造函数
~Empty() { … }
&&&&&&&&// 析构函数
Empty& operator=(const Empty& rhs) { … } &&&// copy assignment 操作符.
只有当这些函数被需要(&被调用&),它们才会被编译器创建出来。
程序中需要它们是很平常的事。下面的代码导致上述每一个函数被编译器产出:
Empty e1;&&&&&&&&&// default 构造函数
&&&&&&&&&&&&&&&&&&&&&&&&&&&&// 析构函数
Empty e2 ( e1 );&&&&&&&&&&&&// copy构造函数
e2 = e1;&&&&&&&&&&&&&&&&&&&&// copy assignment 操作符
Tip 19:&&类中的 static类型函数不能接收 this 指针
发布于 4年前,
阅读(366) | 评论(1) |
投票(0) | 收藏(2)
今天看到孟岩写的《放弃理想,未必能成就现实》,文章好像没有贴全,只是贴了一部分,但大致意思还能看明白。孟岩写这样的文章,我一点都不感到奇怪。我知道孟岩一直在思考,中国软件界也一直在思考。 &&&& 孟岩在文中又一次抚弄我们心口的伤疤,直陈我们在通用软件平台方面的惨痛事实,提出一种别开生面的救赎理想的曲折道路——“深入行业信息化”。说实话,我不认为我们在“行业信息化”方面能够找回理想。如果大家能够找出一百个具有信息化潜力的传统行业,我相信一定有人能在国外找到一百个对应的成功产品或解决方案(当然如果没有复用性就不谈了)。一个简单的事实是,如果我们能够找到行业信息化的“挖掘点”,为什么国外的同行就不能?难道国外的行业信息化不比我们的起步早、挖的深?我们看到的很多事实恰恰相反。我宁愿相信孟岩举出的专业结构设计软件PKPM是一个特例(不过对这个软件我是闻所未闻)。当然这并不是说中国软件业在行业信息化方面就全然不可能有所作为,而是说即便我们在行业信息化方面可能不会如通用软件平台方面输得如此之惨,甚至是小有起色,或者是追赶起来不那么困难,我们也不能有任何乐观,因为中国软件业在行业信息化这条道路上总体而言并没有明显的比较优势,困扰中国软件业的那些个问题依旧存在,我们不可能独独在这里找回理想。 &&& 中国软件业的惨痛也不是一天两天了,中国软件业的尴尬难道是我们没有点石成金的法宝?事实上,我们寻找这样的法宝很长时间了,也一次次地激起人们的欢呼,可是到头来都只是媒体的盛宴和狂欢,我们的软件业却在一次次闻鸡起舞中一点点丢失理想。事实证明,没有什么东西可以充当法宝,CMM不是,软件外包不是,国际巨头的研发馈赠不是,自主知识产权也不是……行业信息化同样也不会是。& &&& 中国软件业的出击应该是全面的出击,中国软件业的成功应该是全方位的成功。我们没有理由厚此而薄非。当然螺旋上升、交错前进是行业发展的一般规律,这与全面出击并不矛盾。这样看来固然有其道理,但是说出来恐怕要让很多业内人士哑然失笑,至于友邦同道的评论就更可能把人噎死——我想这就是孟岩说的“放弃理想”的无奈吧。事实大家都很清楚,就像我们要让一个柔弱的小孩去拿奥运会举重冠军一样。 &&&&&& 问题是难道我们真的就只能在此坐而待毙吗?我们能不能先分析一下这个小孩的现状——柔弱在哪里?潜力在哪里?不足在哪里?然后进行针对性训练。而不要急急忙忙地为他设计去锻炼哪个重量级的举重项目。& &&&&&& 让我先来给大家描述一下我们绝大多数软件工程师的典型成长道路,或者我们软件业的主流人才之构成吧。 &&&&&& 我们的学生刚刚进入大学(目前软件界的主力军还是从大学开始培养起来的,初中高中开始接触软件开发的可以忽略不计,玩电脑和软件开发实在没有多大关系),大概都会对计算机充满无限希望,毕竟Bill Gates在这个时代的感召力大的惊人,再加上媒体对新经济的狂轰乱炸,似乎学了软件开发就成了知识新贵了(这实在是一个误解)。 &&&&&& 然而接着就是一个陷阱,那就是课堂,低水平拼凑来的教材和枯燥乏味的陈述基本上可以在半个学期内毁掉大多数学生对大学课堂的感觉。这个时候,很多学生会坚定地对那些劣质的课堂说不——不管他是否还留在课堂上。 &&&&&&& 然而,更大的陷阱还在后面。大多数学生逃离了课堂,但摆脱不了一颗追求的心,这时候图书馆便自然而然成了很多学生的精神家园。花花绿绿的封皮、各种技术名词的堆砌,颇让这时候的学生大开眼界,以为来到了真知的天堂。然而,大多数学生都错了——如果他不直接读原版书的话,出版商编制的陷阱实在要比教室里的了然无味更具杀伤力。要么学的云里雾里,要么学到很多故弄玄虚的低水平喜欢作技巧——这几乎成了计算机图书室中很多学生的宿命。善良的学生啊,你怎么可能知道你读的东西很多都是连作译者本人也没搞懂,就敲上去的呢。外行的人来做计算机图书这个大蛋糕的人大有人在,至今在出版界延绵不绝——我自己就听说过煤炭专业的本科生由于找不到工作而英语还可以,就呆在家里翻译C++语言方面的编程书。 &&&&&&& 实际上,很多学生大学四年都栽在了计算机图书上,不管是从图书馆借来的,还是自己省吃俭用买来的“砖头”,撞得头破血流的人大有人在——幸亏侯捷先生于2001年横空出世给技术出版界带来了一缕清新的空气,不过这是后话了,很多人也没那么幸运。 &&&&& 别急,还有更多的陷阱在等着:实习的陷阱,培训的陷阱,认证的陷阱,考研的陷阱,就业的陷阱,毕业论文的陷阱…… &&&&&& 研还是要考考的,毕竟活都活过来了,虽然也道听途说读研的比本科还瞎混,基本上一半时间都是在做导师的苦力,可是学历毕竟在很多人眼里还是一顶不错的光环,况且中国的学生被逼急了,哪个没有能力玩考试于鼓掌之中呢。不考研的也挺理直气壮,继续从图书馆和书店抱来那些吓死人的“砖头”,一遍遍浸淫在知识经济时代的喜悦中,时刻为就业准备着。而这时候同期毕业的研究生实在不比本科生强到哪里去,不过是在企业对人才的“追捧”中早占一个位子罢了。 &&&&&& 基本上来讲,如果一个学生从学校出来之后能够建立起基本的计算机体系结构,能够掌握一门基础的现代编程语言及其程序库,能够对OO的机制和精神了然于心,已经让软件企业谢天谢地了——实际上据我观察只有一些名校的工程系由于咨询相对发达,师资相对优秀,他们的学生也只是有一部分能够在这方面基本过关,对于二三流的学校出来的学生,除非是一个非常勤奋的学生,并且非常幸运,他才可能打好上述几项基本功。 事实上,如果一个人不是很幸运能够碰巧遇到一本好书,一位好导师,一个好主管,一个好项目的话,上述的几项基本功即使走入工作岗位好几年都很难扎实,随着进入残酷的职业竞争,技术革新的压力随时都有可能袭来。这时候读书和培训就成了一些还没有放弃理想的人的选择了。然而如果他这时候还没有醒悟和鉴别能力的话,读书基本上是在吃安眠药,参加培训则形同自焚——至少从我的一些间接经验来看,时下的很多软件开发培训机构基本上能把一个人的职业信心彻底葬送。这样再消耗一些时日,他对软件业的激情基本上会很快丧失殆尽,自信也差不多荡然无存。出走几乎是迟早的事情——我实在不忍心用“逃亡”二字。能够幸免于难的也不会好活到哪里去,虽然薪水可能不低,职位也步步高升,但是“灵魂深处的痛苦指数”却会一直高居不下。在当下的中国,还没有哪个行业能够像软件业一样让业外的人们如此艳羡,也没有哪个行业能够像软件业一样让业内的人士如此断肠,极具讽刺意味。 &&&&&& 这就是我们每天看到的现实,很多都是我的朋友、我的师弟师妹师哥师姐、我课堂上的学生带给我的直接经验,我相信很多朋友都能在此多少找到一点自己的影子。这不是中国软件人才的全部,但却占据着一个相当大的生存地带。由于我很早都对这一现象有所认识,今年3月份赴美出差期间我就特意就此和一些美国软件界的朋友、包括一些大学毕业实习生有过交流。我发现他们大学期间建立起来的计算机体系的基本观念,他们的图书市场,他们的培训环境和我们相差实在太大。我们在“摇篮、自学、提高”这三个关键的人才成长环节上统统都输得很惨。虽然很多经验都还很凌乱,但是强烈的反差给人带来的感触相当深刻。 &&&&&& 这不要紧,痛都痛了,大家都有痛,本来处于转型期的中国社会就缺乏诚信,充满浮躁,我们不能要求软件业独求完美。但是当我们一而再,再而三地出台各种政策、呼唤各种法宝的时候,我们是不是能够冷静下来先在一些基础层面做一些有意义的事情,不求完美,哪怕仅仅是一些改进,至少是做一些不违良心的事情?可是我们几乎是在顽固地在忽视、甚至践踏软件人才的成长环境。这么多年了,君不见大学教室里还是在讲着不痛不痒的概念化理论;出版界还是在利用外行编辑加外行作译者来营造一个个出版神话;培训公司还是在通过欺骗一拨又一拨的善良学员来分享着一次次的盛宴;一个个软件园的圈地跑马,打着软件的旗号,享受着国家的优惠,却产出着不含二进制的东西……不是我们的程序员没有追求,不求上进。相反,我认为我们的程序员是这个时代少有的理想坚守者,最具学者气质的“民工”,最懂追求的勇士;最讲诚信的公民。可是如此之差的成长环境一遍又一遍地撕碎着他们的理想。 &&&&&& 什么时候中国能够有20本面向程序员的原创专业技术杂志;什么时候中国能够产出20位像侯捷这样的大教育家;什么时候中国每年能够原创20本以上大家能够响当当叫得出来的技术名著;什么时候中国原创的技术名著的销量能够卖到20万册以上;什么时候中国能够有20家像DevelopMentor、ThoughtWorks、Wintellect这样诚信专业的职业培训机构;什么时候中国80%的技术出版社能够如实、主动地向作译者通报印数,按时、积极地付酬;什么时候中国的软件职业培训机构中走出来的学员有80%说他们没有上当受骗;什么时候中国的国立大学中计算机相关科系里80%的学生走出校园的时候没有感到学业荒废;什么时候中国有80%的技术作译者能够拍着胸脯说他负责任地完成了技术作品;什么时候中国大学的课程教本有80%能够摆脱低水平的重复摘抄和拼凑,不让学生感到厌烦……这些都是软件人才的“基础设施”,如果我们对这些“基础设施”的全面溃烂坚持视而不见的话,那么任何法宝对于中国软件业都将无济于事。& &&&&& 我不敢奢望“什么时候中国能够有20家哪怕像Borland、Manhattan Associates这样的二线原创技术公司,什么时候中国能够有20所大学能够排进世界大学前200名,什么时候中国能够有20个在世界软件界叫得出名字的产品,什么时候中国能够有20本原创技术著作被翻译成英文在世界范围出版,什么时候中国能够有20名李开复、张亚勤这样的大学者…..”但我知道如果没有前述肥沃土壤的建立,这些理想都将永远是海市蜃楼、南柯一梦,即使再大分贝的宣传,我也不相信,也不会乐观——就像我目前不能对信息产业部发布的“年度软件狂长报告”感到任何信任和乐观一样。 &&&&&& 软件业的根本还是软件人才,对此无需再多赘言,很多有识之士早已对此有详细的论述。但是软件人才不是媒体呼唤来的,软件人才是我们一点一滴的合力汇集而成的。海纳百川,有容乃大,我们不可能仰赖张亚勤这样的天才,群星闪耀的中国软件界只能建立在一大片肥沃的土地上。如果中国的软件人才成长环境、软件教育环境还是如此恶劣的话,我们将会永远停留在今天的低水平上。到时候不要说看到美国同行、德国同行、印度同行、爱尔兰同行、以色列同行、冰岛同行等等“脸红”,就是看到巴西、泰国、新加坡这样的同行我们也是除了“脸红”别无选择。& &&&&&& 我们有世界上最聪明的学生,而软件产业的直接成功要素正是智力,所有的人一开始都想当然地据此认为我们最有可能、也最应该在软件领域有所突破,但实际上我们却有着世界上最为尴尬的软件人才,产出着世界上最令人心碎的软件作品。我们没有把最聪明的学生有效地提升成最有用的软件人才,这是教育界的失职,出版界的失职,培训界的失职,同时也是整个软件界的失职。
&&&&& “教育、出版、培训”看似简单,却深刻地决定着我们今后很长时间的软件人才环境,从而在整体上决定着中国软件业的发展——事实上,这三块短板是一直在疯狂地败坏着我们的软件人才环境,损伤着我们的软件业。这就是中国软件业的残酷现实,我们只有正视这些现实,整体性地在此方向上努力,实实在在地做一些工作,我们才能找回丢失了很久的理想。 原文地址:
发布于 4年前,
阅读(140) | 评论(3) |
投票(0) | 收藏(3)
导读:本文是从《》这篇文章翻译而来。本文作者Peter在Groupon公司的一项新职务是为公司招募优秀的开发人员。同时,作为开发团队的代言 人,他还负责发布招聘信息、回答问题等。在过去的一周,他对两个询问夏季实习工作的学生进行了回复。 内容如下: 下面是我在回复他们的邮件中的感觉值得公开发表的一些建议: 1. 如果你在大二的时候就已经开始接触外面的公司,我认为你做的很对,你就应该这么早为你今后的职业生涯打基础。很多人都是等到毕业的前两个月(甚至更晚)才考虑这个问题。即使你没有实习的机会,你也要获得一些外面的工作印象。 2. 如果你想学习一种成熟的技术,先看书仍然是推荐的做法。理论和实践之间是相互平衡的,书本上是经过完善的符合实际的描述,会让你对一种技术有一个全面的连贯认识了解。如果你想学Rails,Web开发敏捷之道——应用Rails进行敏捷Web开发 这本书会教会你如何在一周内开发出一个功能齐全的电子商务网站。当然,有时候实践是先于理解的(甚至有时候你不实践就无法理解)。 3. 千万不要寄希望于在课堂上学习一种新语言新技术。计算机专业的课程有自己的目标,是要给你一个广泛的理论基础,是针对某些特殊的课题。很多的技术 (如源代码管理,服务器管理,nginx配置等)和语言(很多学校只教C和Java)永远不会出现在课堂上。在公司里,你经常会根据业务的需要或个人事业的需要即时学一些新东西,所以,如果你想以后事业上有所斩获,现在你就要开始学习一些课外的知识。 4. 不要只关注一些特殊的语言和框架,要学一些多样的编程技术。像计算机程序的构造和解释,代码整洁之道,程序员修炼之道等就是这样的好书。 5. 如果你对上面一条只是一眼掠过,最好还是再读一下!读读SICP,看看视频讲解,这些训练会让你成为一名出色的程序员。 6. 至少学一种“冷僻”的语言。它会让你学到很多从像Java这样主流的语言中学不到的东西。我个人喜欢Lisp这种语言,而Land of Lisp这本书是一个非常好、非常有趣的学习这种语言的教材。 7. 做一个工程。这个工程不必非常有意义或非常重要,只是为了实践!比如写一个能找到离你最近的星巴克的搜索器。为你的学习小组开发一个小组事物管理系统网站。开发一个能完成拼图任务的自动机器人软件。只是为了动手去做,把工程发布到网上,把代码放到GitHub上,把你做的事情写出来,发表在你的博客上。这会让你留下一个对编程感兴趣的公众形象,这对一些招聘单位具有非常非常大的吸引力,尤其是在面试的时候。这也是你锻炼写作的机会,让你知道你每过一年都有哪些进步。 8. 接触自己领域里的开发人员。感谢Google的存在,如果有你的研究领域的研讨会,5秒钟内就能搜到它们。如果你找不到,也许是这些事情太耗时或难于组织。你可以作为一个志愿者为这样的会议出把力,如寻找会议地点等,或你来组织。这种事情并不是很难,只是要你付出很多时间,要有信心。这种事情会让你获得很好的信誉,和他人保持联系,一起工作,一起进步。 要说的就是这些。买100块钱的书,做一年的课余练习,你会变成一个对招聘单位来说比最优秀的学生还更具有吸引力的大学生! 译文连接: 原文链接:
发布于 4年前,
阅读(372) | 评论(1) |
投票(0) | 收藏(7)

我要回帖

更多关于 三星手机root权限获取 的文章

 

随机推荐