- 博客(34)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 网易招聘试题
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前的位置(
2016-09-27 21:53:12 597
原创 boost封装函数指针
boost封装了函数指针,函数指针使用起来更加简便:#include <iostream>#include "boost/function.hpp"double add(double a, double b){ std::cout<<a+b<<std::endl; return (a + b); }double del(double a, double b)
2016-08-18 21:35:02 587
原创 Doxygen&Graphviz构建源码组态档
当查看项目的源代码时,一个好的查询文档能够帮助提高代码阅读和理解的速度。使用Doxygen和Grapviz生成项目源代码组态档,包括类之间的继承关系,函数之间的相互调用关系等。 Doxygen根据代码注释生成文档,说明类之间的继承关系和函数调用关系; Grapghviz进行图形展示。 Doxygen配置界面: 1. 配置项目信息 2. 配置模式 3. 配置输出,输
2016-08-18 18:59:17 440
原创 拒绝编译器自动生成的函数
编译器自动的函数:默认构造函数析构函数拷贝构造函数赋值构造函数(operator =)有些场景中需要拒绝这些编译器自动生成的函数,可以通过下列方法,定义Uncopyable类并继承它。 拒绝使用编译器生成的函数:class Uncopyable{ protected: //允许derived对象析构 Uncopyable(){}; ~Un
2016-08-18 00:50:31 488
原创 位图排序
位图排序的前提条件:输入数据限制在较小的范围内;数据没有重复;每条数据单一,没有关联数据位图排序的三个步骤:将所有位初始为0;读入整数建立集合,将每个整数的对应位置为1;检验每一位,如果该位为1,就输出对应的整数,由此可得有序的输出。实现:#include <vector>#include <iostream>//template <typename Type>class Bi
2016-08-17 19:22:16 441
原创 crontab命令
crontab:计划表,cron ,来源于希腊语”chronos”。 - [x] 编辑计划任务 crontab -e crontab命令有6部分组成:m(分) h(时) dayofmonth month dayofweek command。[x] 查看计划任务 crontab -l[x] 移除计划任务 crontab -r[x] 查看/移除某个用
2016-05-29 10:26:57 498
原创 tarball安装
解压tarball root@localhost# tar -zxvf file.tar.gz root@localhost# tar- zxf file.tgz root@localhost# tar -jxf file.tar.bz2 root@localhost# tar -jxf file.tbz2解压完成后,切换到解压出的文件夹下。 2. 编译,
2016-01-16 14:55:09 565
原创 getpeername
server端的代码: client端代码: 编译完成后先启动server,在启动client。 服务器端输出: getpeername函数取得与套接字相连的对端主机名
2016-01-09 15:30:31 931
原创 fgets函数规范的字符串输入函数
今天在写测试代码时,使用了gets函数来获取输入的字符串,结果出现了异常警告: gets函数危险的地方在于:它不知道缓冲区有多大,它会一直读取数据放到缓冲区,直到出现换行符(’\n’)或者遇到EOF才会停止。这样很容易造成缓冲区的溢出。 使用fgets可以避免缓冲区异常的危险,但是却将换行符’\n’,也读入到字符串中,因此需要对fgets函数进行封装(wrapper)。char buffer
2016-01-06 19:53:06 2071
原创 socket小实例
时间服务器timerserver.c 客户端timerclient.c 在客户端输入服务器的地址,获取时间信息: 服务器端是一个死循环,当结束服务器进程时使用了’CTRL+C’,再次运行时出现如下情况发生: socket隐患:地址使用错误(EADDRINUSE)。 bind 普遍遭遇的问题是试图绑定一个已经在使用的端口。该陷阱是也许没有活动的套接字存在,但仍然禁止绑定端口(b
2015-12-25 14:02:25 374
原创 zabbix sender
zabbix_sende是zabbix_agent向zabbix_server发送数据的命令行工具,在zabbix_server端要有zabbix trapper类型的Item监控项。只接受指定的agent host发送来的数据。在zabbix_sender中定义了向server端发送信息的结构体 ZBX_THREAD_SENDVAL_ARGS:typedef struct
2015-11-16 18:07:20 2144
原创 指针
定义指针时,编译器并不为指针所指向的对象分配空间,它只是分配指针本身的空间,除非在定义的同时赋给指针一个字符串常量进行初始化。char* p = "making bread";//为其分配内存注意:只有对字符串常量才是如此。不能指望为浮点数之类的常量分配空间,如: float* pip = 3.141;//错误!编译无法通过! 在ANSCI 中,初始话指针时所创建的字符串常量
2015-05-26 08:45:31 621
原创 Linux定制指令
Linux上的每一个用户家目录下都存在一个.bashrc文件,用户可以通过编辑.bashrc进行个性化的设置,增加新的指令功能和定制专属指令。减少命令的输入时间,提高效率。定义命令使用alias,function。 function [()]{ command_1; command_2; ………………… } 我自己定义的函数: 修改过.bashrc,一定
2015-05-19 22:27:19 466
原创 宏
C/C++程序进行编译时,实际经过了:预处理、编译、汇编和链接,其中预处理主要是针对宏。include “head.h” 首先找到head.h文件,并在includec “head.h”处展开;条件编译 预处理器根据#if和#ifdef等编译命令及其后的条件,将源程序中的某部分包含进来或排除在外,通常把排除在外的语句转换成空行。宏展开 预处理器将源程序文件中出现的对宏的引用展开成相应的宏
2015-05-19 12:00:06 500
原创 sudo
sudo(super user do)允许系统管理员给予某些用户或用户组一些能力,允许他们能够像root或other users执行全部/部分commands。 sudo执行流程当用户执行sudo时,系统在/etc/sudoer文件中查找用户是否执行sudo的权限;若用户具有sudo执行权限,输入该用户密码来确认;密码输入成功,便开始进行sudo后续命令(root执行sudo时不需要输入密
2015-05-16 10:43:31 514
原创 CentoS中Vim配置
CentOS中的vim全局配置文件路径:/etc/vimrc,对此文件进行编辑可以对全局用户的Vim编辑环境产生影响。 用户可以定义自己使用的Vim编辑环境通过修改:~/.vimrc。
2015-05-05 22:10:43 433
原创 java中的深浅复制
Java深度复制和浅度复制 浅复制(浅克隆):浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 深复制(深克隆):深复制把要复制的对象所引用的对象都复制了一遍。 Java中对象的克隆,为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。必须要遵循下面三点 : 1.在派生类中覆盖基类的clone()方法,并声明为public【Object类中的clone()方法为p
2015-04-29 09:29:44 520
原创 树的前序、中序、后序遍历
#include <iostream>#include <stdlib.h>using namespace std;#define MAXSIZE 100#define OK 0#define ERROR -1//定义结构体模板 template <typename Type> struct Node{ struct Node<Type>* left; Type val;
2015-04-29 08:45:19 488
转载 为什么java web开发我们会使用struts2,springMVC和spring这样的框架?
原文: cnblogs-夏天的森林 今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑问无法得到正确的解释,为什么我们现在做java的web开发,会选择struts2或者springMVC这样的框架,而不是使用servlet加jsp这样的技术呢?特别
2015-04-27 21:46:45 965
原创 临界区
临界区是一种防止多个线程同时执行一个特定代码段的机制。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他试图访问此临界区的线程将被挂起,并一直持续到临界区的线程离开。**临界区适用于多个线程之间没有先后顺序但要求互斥的同步。**定义临界区变量: CRITICAL_SECTION criticalSection;初始化临界区 VOID WINAPI InitializeCri
2015-04-24 08:17:09 613
原创 信号量解决生产者,消费者问题
#include <windows.h>#include <process.h>#include <iostream> #define BUFFER_SIZE 10 #define MAXNUM 3 using namespace std; int buffer[BUFFER_SIZE]; int r_count = 0; int w_count = 0;CRITICAL_SECTION
2015-04-22 13:54:28 799
原创 递归求解N阶行列式
#include "stdafx.h"#include <Windows.h>#include <process.h>#include <time.h>#include <iostream>using namespace std; int sum; int sum1,sum2; int **a,**b; int n;CRITICAL_SECTION cs;HANDLE evFin[2
2015-04-19 16:25:35 1342
转载 10大算法
主宰全球的10大算法Posted on 2014年05月31日 by Sep in 行业资讯 with 4 CommentsReddit有篇帖子介绍了算法对我们现在生活的重要性,以及哪些算法对现代文明所做贡献最大。如果对算法有所了解,读这篇文章时你可能会问“作者知道算法为何物吗?”,或是“Facebook的‘信息流’(News Feed)算是一种算法吗?”,如果“信息流
2014-09-29 17:00:35 618
转载 java.lang.Object.clone()
首先,看一下源码:1 public class Object {2 protected native Object clone() throws CloneNotSupportedException;3 } 由源代码我们会发现: 第一:Object类的clone()方法是一个native方法,native方法的效率一般来说都是远高于Java中的非nat
2014-09-16 15:52:29 963
原创 CentOS搭建JavaSE开发环境
Eclipse安装1.首先,我下载的报是.tar.gz格式的,所以我们先要进行解压: 1>进入到/user/local目录下,输入命令gzip -d eclipse-jee-juno-SR2-linux-gtk.tar.gz2.接下来进行tar解压输入命令:tar -xvf eclipse-jee-juno-SR2-linux-gtk.tar
2014-09-10 14:58:34 546
转载 Java回调
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个
2014-09-05 19:47:43 495
转载 OSGI Equinox 环境搭建
1.下载最新版Equinox KeplerSR2(30M) : http://download.eclipse.org/equinox/
2014-05-24 09:25:53 739
转载 C++ 类的静态成员详细讲解
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静
2014-04-28 13:50:05 620
原创 网络下载文件小程序(非原创,他人所写)
#include #include #include #include #include #include #include #include #include #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)#pragma comment(lib, "shlwapi.lib")#pragma comment(lib
2014-04-21 09:42:23 1308
原创 visor studio 2013创建DLL
创建动态链接库 (DLL) 项目在菜单栏上,选择“文件”,“新建、“项目”。在“新建项目”对话框左窗格中,展开“已安装”、“模板”、“Visual C++”,然后选择“Win32”。在中间窗格中,选择“Win32 控制台应用程序”。在“名称”框中为项目指定名称,例如,MathFuncsDll。 在“解决方案名称”框中为解决方案指定一个名称,例
2014-04-17 14:51:22 1044
原创 聊聊“extern”关键字
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。作用见下: 1,在C++中extern的作用,用于指示C或者C++函数的调用规范。比如在C++中调用C库函数,就需要在C++程序中用extern “C”声明要引用的函数。这是给链接器用的,告诉链接器在链接的时候用C函数规范来链接。主要原因是C++和C程序编译完成后在目标代码中命名
2014-04-16 17:26:05 602
在添加Sleep()后,程序运行正确,注掉错误
2015-04-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人