摘要: 1. PC-Lint工具介绍 PC-Lint for C/C++是由Gimpel软件公司于1985年开发的代码静态分析工具,它能有效地发现程序语法错误、潜在的错误隐患、不合理的编程习惯等。 C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PC-Lint能识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全... 阅读全文
posted @ 2017-03-06 21:24 程序员修练之路 阅读(2420) 评论(1) 推荐(0) 编辑
摘要: 摘要: 1.首先在主机A上创建一个文件夹用于存放你要公开的版本库。然后进入这个文件夹,右键->Git create repository here,弹出的窗口中勾选Make it Bare!之后将这个文件夹完全共享(共享都会吧?注意权限要让使用这个文件夹的用户为“完全控制”)。 1.首先在主机A上创 阅读全文
posted @ 2017-03-06 20:16 程序员修练之路 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: 1. GitHub操作 本节先简单介绍 git 的使用与操作, 然后再介绍 TortoiseGit 的使用与操作. 先看看SVN的操作吧, 最常见的是 检出(Check out ...), 更新 (Update ...), 以及 提交(Commit ...); 相当于有一个服务器端, 可以多个客户端 阅读全文
posted @ 2017-03-06 19:57 程序员修练之路 阅读(6899) 评论(0) 推荐(0) 编辑
摘要: 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版 阅读全文
posted @ 2017-03-06 19:51 程序员修练之路 阅读(227) 评论(0) 推荐(1) 编辑
摘要: linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT-A RH-Firewall-1-INPUT -s 121.10.120.24 -p tcp -m tcp --dport 18612 -j ACCEPT 如果你的IPTABLES基础知识... 阅读全文
posted @ 2016-12-08 16:00 程序员修练之路 阅读(2299) 评论(0) 推荐(0) 编辑
摘要: Linux系统下面自带了防火墙iptables,iptables可以设置很多安全规则。但是如果配置错误很容易导致各种网络问题,那么如果要关闭禁用防火墙怎么操作呢,咗嚛本经验以centos系统为例演示如何关闭linux的防火墙 清除iptables规则 1 如果启动的iptables防火墙不想关闭的话,可以通过iptables -F 来清除防火墙关闭。然后通过iptables -L查看 ... 阅读全文
posted @ 2016-12-08 15:58 程序员修练之路 阅读(39965) 评论(0) 推荐(0) 编辑
摘要: linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot。下面本文就主要介绍一些常用的关机命令以及各种关机命令之间的区别和具体用法。 首先来看一下linux下比较常用的一些关机命令 关机命令: 1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 1... 阅读全文
posted @ 2016-12-08 15:57 程序员修练之路 阅读(576) 评论(0) 推荐(0) 编辑
摘要: SSH是什么? 1 SSH 为 Secure Shell 由 IETF 的网络工作小组(Network Working Group)所制定; SSH 是建立在应用层和传输层基础上的一种安全协议。 SSH传输数据是加密的,可以有效防止传输过程被截取数据保障安全。 SSH的数据是经过压缩的,所以可以加快传输的速度 END 查看SSH服务 1 首先查看一下当前linux是否已经安装SSH软... 阅读全文
posted @ 2016-12-08 15:55 程序员修练之路 阅读(38602) 评论(0) 推荐(0) 编辑
摘要: 作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法。 1. 使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器... 阅读全文
posted @ 2016-11-21 18:31 程序员修练之路 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 今天打开VS2015发现出问题了,总是停止响应,去控制面板里卸载结果像下面这样,卸载出错!于是我有开始折腾了,重新安装一遍然后,还是有问题,在卸载还是出错于是我决定通过安装介质卸载,结果,悲剧的是,启动安装介质竟然只有安装选项,没有卸载和修复!!最终到MSDN上寻求帮助,这个是我找到的原文链接(全英语):http://stackoverflow.com/questions/28041688/for... 阅读全文
posted @ 2016-11-18 19:39 程序员修练之路 阅读(17176) 评论(0) 推荐(0) 编辑
摘要: 在VS2012中,如果你不幸用了三方主题,尤其是深色主题。比如http://studiostyl.es/schemes/son-of-obsidian ,那么你很可能发现当前行高亮的样式变成了这样: 外面多了个丑陋的白色边框!但VS2012自带的dark主题却没有这个问题。 研究了许久,发现一种比较2的办法可以解决,不知道是不是VS2012的Bug。只要在颜色设置里(Environment, F... 阅读全文
posted @ 2016-11-17 21:33 程序员修练之路 阅读(2001) 评论(0) 推荐(0) 编辑
摘要: 上面一篇博客,介绍了Studio的优点与1.0 RC的安装与上手体验,没想到google的更新速度这么快,已经出了RC 2版本,主要是修复一些bug。那么今天就带大家预览下Stduio的界面与基本功能。 项目结构 当我们新建一个项目的目录结构默认是这样的 可以看到和Eclipse的目录结构有很大区别,Studio一个窗口只能有一个项目,而Eclipse则可以同时存在很多项目,如果你看着不习惯可... 阅读全文
posted @ 2016-11-16 22:48 程序员修练之路 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 背景 相信大家对Android Studio已经不陌生了,Android Studio是Google于2013 I/O大会针对Android开发推出的新的开发工具,目前很多开源项目都已经在采用,Google的更新速度也很快,明显能感觉到这是Android开发的未来,那么我们还有什么理由不去拥抱未来呢? 虽然推出了很久,但是国内貌似普及的程度并不高,鉴于很多朋友求studio的详细教程,那么今天我就... 阅读全文
posted @ 2016-11-16 22:46 程序员修练之路 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 1.配置 vim /etc/mail.rc 文件尾增加以下内容 set from=1968089885@qq.com smtp="smtp.qq.com"set smtp-auth-user="1968089885@qq.com" smtp-auth-password="123456"set smtp-auth=login说明: from: 对方收到邮件时显示的发件人smtp: 指定第三方... 阅读全文
posted @ 2016-11-09 21:55 程序员修练之路 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 1.在图像界面关闭x window:1.1 shell中运行 init 3 进入文本模式,同时会关闭相关的服务(Xserver 肯定关闭)1.2 Alt+Ctrl+F1~F6到字符界面,root登陆,ps aux|grep /usr/X11R6/bin/X,得到X进程号,kill -9 进程号,其实这时已经到文本界面了,没必要关X。(这样太粗鲁了)2.如果你想一开机后不进入X Window:编辑... 阅读全文
posted @ 2016-11-09 14:19 程序员修练之路 阅读(10610) 评论(0) 推荐(1) 编辑
摘要: 想知道不同的设置是干什么用的,你只需将鼠标指针在编辑框/选项框上停留一秒钟...一个帮助提示气泡就会弹出来。 常规设置 图 4.68. 设置对话框,常规设置页面 这个对话框允许你指定自己喜欢的语言,同时也可做那些与Subversion相关的特殊设置。 语言 Selects your user interface language. Of course, you... 阅读全文
posted @ 2016-11-07 18:25 程序员修练之路 阅读(1589) 评论(0) 推荐(0) 编辑
摘要: 构造函数是一种可初始化其类的实例的成员函数。 构造函数具有与类相同的名称,没有返回值。 构造函数可以具有任意数量的参数,类可以具有任意数量的重载构造函数。 构造函数可以具有任何可访问性(公共、受保护或私有)。 如果未定义任何构造函数,则编译器会生成不采用任何参数的默认构造函数;可以通过将默认构造函数声明为已删除来重写此行为。 主题内容 构造函数顺序 成员列表 显式构造函数 ... 阅读全文
posted @ 2016-09-18 17:16 程序员修练之路 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 1、构造函数和析构函数为什么没有返回值? 构造函数和析构函数是两个非常特殊的函数:它们没有返回值。这与返回值为void的函数显然不同,后者虽然也不返回任何值,但还可以让它做点别的事情,而构造函数和析构函数则不允许。在程序中创建和消除一个对象的行为非常特殊,就像出生和死亡,而且总是由编译器来调用这些函数以确保它们被执行。如果它们有返回值,要么编译器必须知道如何处理返回值,要么就只能由客户程序员自己来... 阅读全文
posted @ 2016-09-18 17:15 程序员修练之路 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~ 1. 首先嘛,你得在浏览器里输入要网址: 2. 浏览器查找域名的IP地址 导航的第一步是通过访问的域名找出其IP地址。DNS查找过程如下: 浏览器缓存 ... 阅读全文
posted @ 2016-09-11 17:14 程序员修练之路 阅读(309) 评论(0) 推荐(0) 编辑
摘要: Bjarne Stroustrup 的 C++ 风格与技术 FAQ(中文版) 原作:Bjarne Stroustrup 翻译:Antigloss 译者的话:尽管我已非常用心,力求完美,但受水平所限,错误在所难免,还请各路高手不吝斧正。邮箱地址:Antigloss at 163 dot com。本译文是对以前紫云英的译文的补充,之前他们翻译过的内容我没有重译,故亦没有出现于本页面,想看的朋友可... 阅读全文
posted @ 2016-09-09 21:28 程序员修练之路 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 首先说说二分查找法。 二分查找法是对一组有序的数字中进行查找,传递相应的数据,进行比较查找到与原数据相同的数据,查找到了返回1,失败返回对应的数组下标。 采用非递归方式完成二分查找法。java代码如下所示。 [java] view plain copy print? /* * 非递归二分查找算法 * 参数:整型数组,需要比较的数. */ ... 阅读全文
posted @ 2016-09-09 17:56 程序员修练之路 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 使用模板的目的就是能够让程序员编写与类型无关的代码。比如编写了一... 阅读全文
posted @ 2016-09-09 16:35 程序员修练之路 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 一.事务 定义:所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 准备工作:为了说明事务的ACID原理,我们使用银行账户及资金管理的案例进行分析。 [sql] view plain copy print? // 创建数据库 create table account( idint pri... 阅读全文
posted @ 2016-09-08 22:29 程序员修练之路 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。 如何使用本教程 最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么... 阅读全文
posted @ 2016-09-08 17:23 程序员修练之路 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 类模板:template struct pair 参数:T1是第一个值的数据类型,T2是第二个值的数据类型。 功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。 具体用法: 1.定义(构造): 1 pair p1; //使用默认构造函数 2 pair p2(1, 2.4); /... 阅读全文
posted @ 2016-09-08 16:13 程序员修练之路 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 算法的思路是: 从头到尾遍历文件,从文件中读取遍历到的每一个单词。 把遍历到的单词放到hash_map中,并统计这个单词出现的次数。 遍历hash_map,将遍历到的单词的出现次数放到优先级队列中。 当优先级队列的元素个数超过k个时就把元素级别最低的那个元素从队列中取出,这样始终保持队列的元素是k个。 遍历完hash_map,则队列中就剩下了出现次数最多的那k个元素。 具体实现和结果如下:算... 阅读全文
posted @ 2016-09-08 16:10 程序员修练之路 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 要求:掌握文本文件读写的方法了解二进制文件的读写方法 C++文件流:fstream // 文件流ifstream // 输入文件流ofstream // 输出文件流 //创建一个文本文件并写入信息//同向屏幕上输出信息一样将信息输出至文件#include#includevoid main(){ ofstream f1("d:\\me.txt"); //打开文件用于写,... 阅读全文
posted @ 2016-09-08 15:29 程序员修练之路 阅读(1615) 评论(0) 推荐(0) 编辑
摘要: 在看C++编程思想中,每个练习基本都是使用ofstream,ifstream,fstream,以前粗略知道其用法和含义,在看了几位大牛的博文后,进行整理和总结: 这里主要是讨论fstream的内容: [java] view plain copy print? #include ofstream //文件写操作 内存写入存储设备 ifstream ... 阅读全文
posted @ 2016-09-08 15:27 程序员修练之路 阅读(97163) 评论(0) 推荐(1) 编辑
摘要: map是用来存放键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,map,其中学生姓名用string类型,作为Key;该学生的成绩用int类型,作为value。这样一来,我们可以根据学生姓名快速的查找到他的成绩。 但是,我们除了希望能够查询某个学生... 阅读全文
posted @ 2016-09-08 13:13 程序员修练之路 阅读(711) 评论(0) 推荐(0) 编辑
摘要: Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有... 阅读全文
posted @ 2016-09-08 13:07 程序员修练之路 阅读(1449) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 给一个二叉树,每个节点都是正或负整数,如何找到一个子树,它所有节点的和最大? 思路:采用自底向上的计算。先计算左右子树总和值,用左右子树的总和加上当前节点值,如果当前总和大于最大值,则更新最大值,同时将最大子树根节点更新为当前根。简单说,就是后序遍历。 代码: [cpp] view pl 阅读全文
posted @ 2016-09-07 22:05 程序员修练之路 阅读(1845) 评论(3) 推荐(0) 编辑
摘要: 第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高... 阅读全文
posted @ 2016-09-04 22:39 程序员修练之路 阅读(4340) 评论(0) 推荐(0) 编辑
摘要: 公有继承(public)、私有继承(private)、保护继承(protected)是常用的三种继承方式。 1. 公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 2. 私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生... 阅读全文
posted @ 2016-09-02 10:22 程序员修练之路 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 不是只有排序,二叉树才叫数据结构,面试栽在基本的数组和队列,链表,栈的有的是!!!本文对循环队列的重要操作作出总结。注:为了避免队列空和满两个状态混淆, 采用空闲一个位置的方式,即N个元素空间的循环队列最多只能存放N-1个有效元素。这也是大多数教材的做法。1) 循环队列初始化:front=rear=0;2)入队操作:rear=(rear+1)%size;3)出队操作:front=(front+1)... 阅读全文
posted @ 2016-09-02 10:14 程序员修练之路 阅读(712) 评论(0) 推荐(0) 编辑
摘要: C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: [cpp] view plain copy #inc... 阅读全文
posted @ 2016-09-01 16:13 程序员修练之路 阅读(371) 评论(0) 推荐(0) 编辑
摘要: Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; map<string , int >mapstring; map<int ,string >mapint; map<sring 阅读全文
posted @ 2016-08-26 20:46 程序员修练之路 阅读(749) 评论(0) 推荐(0) 编辑
摘要: C++ STL set和multiset的使用 std::set<int> s;那个s这个对象里面存贮的元素是从小到大排序的,(因为用std::less作为比较工具。) 1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都 阅读全文
posted @ 2016-08-26 19:43 程序员修练之路 阅读(13498) 评论(1) 推荐(2) 编辑
摘要: 2、queuequeue 模板类的定义在<queue>头文件中。与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。定义queue 对象的示例代码如下:queue<int> q1;queue<do 阅读全文
posted @ 2016-08-26 09:53 程序员修练之路 阅读(108542) 评论(0) 推荐(6) 编辑
摘要: c++stack(堆栈)是一个容器的改编,它实现了一个先进后出的数据结构(FILO) 使用该容器时需要包含#include<stack>头文件; 定义stack对象的示例代码如下: stack<int>s1; stack<string>s2; stack的基本操作有: 1.入栈:如s.push(x) 阅读全文
posted @ 2016-08-26 09:47 程序员修练之路 阅读(20177) 评论(0) 推荐(0) 编辑
摘要: Deque 容器 deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容。deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是,deque还支持从开始端插入数据:pus 阅读全文
posted @ 2016-08-25 11:09 程序员修练之路 阅读(1035) 评论(0) 推荐(0) 编辑