- 博客(124)
- 资源 (15)
- 收藏
- 关注
转载 namespace的用法
C++中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字;有时为了程序的方便,必需使用同一名字。比如你定义了一个变量string user_name, 有可能在你调用的某个库文件或另外的程序代码中也定义了相同名字的变量,这就会出现冲突。命名空间就是为解决C++中的变量、
2017-05-19 15:27:47
455
原创 我的linux复习三之IP相关设置与VI退出与保存命令
今天学了简单的IP命令1.查看IPifconfig 或ifconfig –a 或用ip addr也可以 2.修改IPifconfig eth1 192.168.92.158 netmask 255.255.255.0 upip已经改了,并且生效了,后面的up作用就是启用 ,这里掩码用netmask,而不是mask,当然也可以不写,之前可以先i
2013-07-12 10:50:35
1080
原创 我的linux复习之二几个简单的命令
在图形界面要进入命令行界面的方法:在桌面上右键在终端中打开,就可以打开命令行工具,然后输入su -或su -l root,密码,再输入init 1-3就可以进入命令行界面了,如果不输入su -或su -l root,就进不了管理员界面,是没办法运行init x的,会提示你need to be root,如果输入init 6就重启电脑了相当于reboot!关机命令
2013-07-11 11:20:46
559
原创 我的linux复习之一密码修改
好久没有碰linux了,心血来潮复习一遍,顺便记录下来。一来大家可以看看,二来我还可以当做复习的笔记。linux系统真的是很多啊,不列举了。在此我用的是rhel5.4,公司最常用的机器,绝对免费版。其实哪个版本都可以啦,只是一些平常的linux管理废话少说,来第一节:密码的修改Centos默认禁用ROOT用户,所以如果想用它的话,要先更改下ROOT用户密码才行:在登陆界面会话中用已有的
2013-07-11 10:04:03
533
原创 Linux下安装QQ2012
# tar -zxvf qq2012.tar.gz -C /opt# cd /opt# ls# cd qq2012/wineapp/qq/# ls# ./install.shcopy files ...# ./qq.sh安装已经完成,但此时在普通用户下无法打开QQ2012,下面是解决方法:# rm -rf ~yuan/.qq2
2013-03-26 10:38:18
705
原创 fedora下安装VirtualBox
1 wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo; sed -i "s,enabled=0,enabled=1,g" /etc/yum.repos.d/virtualbox.repo安装1 yum update
2013-03-26 10:35:35
555
原创 .emacs 文件参考内容大全
(defconst my-lisps-path (concat "~/package" nil) "下载的emacs lisp包的路径")(set-default-font "-outline-Consolas-normal-normal-normal-mono-15-*-*-*-c-*-iso8859-1")(add-to-list 'default-frame-alist '
2013-03-26 10:32:40
1092
原创 .emacs 文件简单配置亲测
;;启动时大小和屏幕的中的位置(setq default-frame-alist'((height . 30)(width . 90)(menubar-line . 20)(tool-bar-lines . 0))) ;;关闭开启画面(setq inhibit-startup-message t);;; 添加Emacs搜索路径(add-to-list 'lo
2013-03-26 10:31:36
551
原创 C 中用printf格式化输出
* C 中用printf格式化输出 还有一种容易掌握和使用的格式化输出函数,那就是printf,它与C语言中的printf基本上是相同的。printf有两个参数,一个是字符串,其中含有一个或多个域值形式,另一个是与各域值相对应的变量值按一定格式替换,如:printf("The number I want to print is %d.\\n", $number);各种域值形式如下表:
2013-03-26 10:29:18
804
转载 C语言编译的详细过程
编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1
2013-03-26 10:28:33
510
原创 %%百分号,coreleft, sbrk,\ 加执行命令,父子进程
* %%百分号 两个连续的%号,字符串输出为一个%号* coreleft 函数名: coreleft 功 能: 返回未使用内存的大小 用 法: unsigned coreleft(void); 程序例: #include #include int main(void) { printf("The difference betwee
2013-03-26 10:27:25
724
原创 rewind
函数名: rewind 功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头 注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。 rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);[1] 用 法: void
2013-03-26 10:25:43
760
原创 文件描述符和文件流之间的转换
FILE *fdopen(int fildes, const char *type); 这个函数很有用的,功能是将一个流关联到一个打开的文件号filedes上, 该filedes可以是open、pipe、dup、dup2和creat等调用返回的结果 type指定流打开方式,同fopen的打开方式,如"a", "r","w"等等 fdopen的流打开方式服从f
2013-03-26 10:25:01
1012
转载 创建 使用和删除PostgreSQL数据库的视图
使用以下的SQL命令来创建三个示例表格:test=# CREATE TABLE stories (id INT, title VARCHAR, time TIMESTAMP); test=# CREATE TABLE authors (id INT, name VARCHAR); test=# CREATE TABLE stories_authors_lin
2013-03-25 15:21:46
5066
原创 指针和引用的联系与区别
指针和引用的联系与区别 ★ 相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。★ 区别:1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;4. 引用没有 const,指针有 const;5. 引用不能为空,指针可
2013-03-25 15:20:03
469
转载 在Linux下用netstat查看网络状态、端口状态
在linux一般使用netstat 来查看系统端口使用情况步。 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的 netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。 该命令的一般格式为:
2013-03-25 15:19:17
878
转载 在linux下设置开机自动启动程序的方法
在linux下设置开机自动启动程序的方法下面用自启动apache为例;自启动脚本:/usr/local/apache2/bin;./apachectl start文件位于/etc/rc.d/init.d下,名为apached, 注意要可执行.#chmod +x /etc/rc.d/init.d/apached //设置文件的属性为可执行#ln -s /etc/rc.d/in
2013-03-25 15:18:23
718
原创 修复完浏览器后每次打开ie8都会自动弹出管理加载项,请问怎样才能不弹出
首先,修改管理员的权限。运行:regedit 进入:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchScopes进去后在searchscopes上点右键,设置权限:勾选“完全控制”后确定。然后再添加默认搜索引擎。
2013-03-25 15:17:15
3087
原创 perl 中部分正则表达式的标记
\w 表示匹配大小写英文字母、数字以及下划线,等价于'[A-Za-z0-9_]'。\S 表示匹配非空白字符,范围可广了,只要不是空格、换行符、制表符、换页符即可你举的例子看不出区别,但你试试 my $names = "Fred and Bar-ney"; 就看出来了\w 不包括 :;"'+-*/@# 这些... 只有 [a-zA-Z0-9_]\S 非空白就行了, 可
2013-03-25 15:16:26
555
转载 心跳服务器
心跳服务器我们目前游戏服务器的初步架构是一个连接服务器处理来自多个客户端的连接数据,这个服务器将所有数据汇总后通过一个 socket发送到后方的逻辑服务器。这个设计曾经写过一篇blog 提到过。今天,我在两个服务器之间加入了一个控制心跳的服务器。其原始作用很简单,就是按心跳(目前的设定是 10Hz)从连接服务器上拿到数据,再转发给逻辑服务器。并把逻辑服务器发出的数据转出。为什么
2013-03-25 15:15:20
1119
转载 向Berkeley DB插入大文件
看看这个,应该有用,别人测试的结果:*************************************************************************“插入100万条记录;data的大小大约200-300字节;需要的时间大约为45分钟;插入200万条时,花费的时间达到了2小时20分钟;”**********************************
2013-03-25 15:14:32
579
转载 实例详解C++友元
入门教程:实例详解C++友元 在说明什么是友元之前,我们先说明一下为什么需要友元与友元的缺点: 通常对于普通函数来说,要访问类的保护成员是不可能的,如果想这么做那么必须把类的成员都生命成为public(共用的),然而这做带来的问题遍是任何外部函数都可以毫无约束的访问它操作它,c++利用friend修饰符,可以让一些你设定的函数能够对这些保护数据进行操作,避免把类成员全部设置
2013-03-25 15:12:36
418
原创 如何最快测试CPU是大端机还是小端机?
如何最快测试CPU是大端机还是小端机?传说这是一道很经典的面试题。很多童鞋都秉承正常人的思维,老老实实写下了倒转判断的代码。谁会想到用union呢?union有一个特性:其存放顺序是所有成员都从低地址开始存放。有没有一点灵感?其实什么是巧妙,就是利用融会贯通罢了。代码如下:#include using namespace std; int checkCPU
2013-03-25 15:11:53
773
原创 认证和授权的区别 Authentication vs. Authorization
简单来说,认证(Authentication )是用来回答以下问题: 用户是谁 当前用户是否真的是他所代表的角色 通常来说,一个登陆系统,就是一个认证的系统。那么授权(Authorization)又是什么呢?授权通常是用来回答以下问题: 用户A是否被授权访问资源R 用户A是否被授权执行P操作 常见的例如密码相册那些应用,就是应用到了授权系统。
2013-03-25 15:10:47
952
原创 去除本机登陆ssh的痕迹
Ubuntu SSH登陆错误 一、SSH登陆错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!出现类似下面的情况:[root@localhost ~]# ssh 192.168.10.88@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFI
2013-03-25 15:10:00
2245
转载 内存管理内幕
内存管理内幕动态分配的选择、折衷和实现简介: 本文将对 Linux? 程序员可以使用的内存管理技术进行概述,虽然关注的重点是 C 语言,但同样也适用于其他语言。文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存, 以及如何使用垃圾收集自动管理内存。为什么必须管理内存内存管理是计算机编程最为基本的领域之一。在很多脚
2013-03-25 15:08:59
370
转载 结合rpm,rpm2cpio,cpio提取rpm包的特定文件
结合rpm,rpm2cpio,cpio提取rpm包的特定文件 昨天不小心把/etc/mail/sendmail.mc修改坏了,又没有备份最原始的文件,于是想到重新从rpm包中提取出来。 首先,要确定/etc/mail/sendmail.mc属于哪个rpm包:[root@pps tmp]# rpm -qf /etc/mail/sendmail.mcsendmail-8.13.
2013-03-25 15:08:02
459
转载 交换机分层
(一)二层交换机,三层交换机,四层交换机的区别 二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。 具体的工作流程如下: (1)当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
2013-03-25 15:06:27
1776
转载 关于SIGPIPE导致的程序退出
关于SIGPIPE导致的程序退出 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。若不
2013-03-25 15:05:28
479
转载 钩子函数和回调函数
调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随时跳转至此段代码的起始地址,执行完后再返回跳转时的后续地址。CPU为此准备了现成的调用指令,调用时可以压栈保护现场,调用结束后从堆栈中弹出现场地址,以便自动返回。借堆栈保护现场真是一项绝妙的发明,它使调用者和被调者可以互不相识,于是才有了后来的函数和构件,使吾辈编程者如此轻松愉快。若评选对人类影响最大之发明,在火与
2013-03-25 15:03:19
841
原创 服务器关了已经连接的客户端socket_fd,客户端做出的反应过程
服务器关了已经连接的客户端socket_fd,客户端做出的反应过程 (2008-07-21 10:27) 服务端关闭已连接客户端,客户端接着发数据产生问题, 1. 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写
2013-03-25 15:02:10
1465
原创 堆和栈的区别
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结
2013-03-25 15:01:11
385
转载 yum命令的用法
yum命令的用法:主要参数:-y 不需要用户确认要发生的操作-->用YUM安装删除软件yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。#yum install 软件名 //用YUM安装指定软件包#yum remo
2013-03-21 14:40:28
522
原创 yum安装找不到包问题解决
yum安装找不到包问题解决出现错误如下:[root@localhost ~]# yum -y install gstreamer-ffmpegLoaded plugins: refresh-packagekitSetting up Install ProcessNo package gstreamer-ffmpeg available.Nothing to do
2013-03-21 14:39:49
5210
1
原创 You have new mail in varspoolmailroot 烦不烦你?
Youhave new mail in varspoolmailroot 烦不烦你?有时在进入系统的时候经常提示Youhave new mail in /var/spool/mail/root你觉得烦人---解决方法:修改系统配置文件/etc/profile,告诉系统不要去检查邮箱.具体操作:命令行输入:echo"unset MAILCHECK" >> /etc/profile【把
2013-03-21 14:38:48
784
原创 windows下给Qt配置环境变量
在Qt中编译程序完成后,想到文件夹里运行一下生成的exe文件。这时“BANG”,系统报错:“没有找到mingwm10.dll,因此这个程序未能启动。重新安装应用程序可能会修复此问题。”或“没有找到QtCored4.dll,因此这个程序未能启动。重新安装应用程序可能会修复此问题。” 那么就是因为还没有给系统配置Qt的环境变量。到“我的电脑->属性->高级->环境变量->系统变
2013-03-21 14:35:43
513
转载 Windows Socket 例子
Windows Socket 例子 一、服务器端//Server.cpp #include #include #include #pragma comment(lib,"ws2_32.lib") int main(int argc, char* argv[]){ //判断是否输入了端口号 if(argc!=2) { p
2013-03-21 14:34:53
513
转载 win7+jdk1.7环境变量配置
Windows 7 配置jdk 1.7环境变量 环境:win7(32位)64位和下面差不多 jdk1.7 1.右击计算机-属性-高级系统设置-高级-环境变量,弹出“环境变量”对话框,主要是改下面的环境变量,不是上面的Administrator。(不然其他用户还得自己配)添加JAVA_HOME指明JDK安装路径,如C:\Program Files\Java\
2013-03-21 14:33:42
657
转载 vsftpd的源代码 解析
最近粗略地看完vsftpd的源代码,vsftpd中对配置文件分析采取的方法很是特别,也许是本人知识浅薄.所以发出此贴,请各位达人指点一二.小弟在此先谢过了. vsftpd分析配置文件采取的步骤如下: 1>.创建匿名虚拟内存(额外增加两页.第一页和最后一页采取保护机制(调用mprotect函数).) 2>.读取配置文件,建立配置文件和匿名虚拟内存的映射。 3>.将虚拟内存中的内容作为
2013-03-21 14:32:47
1919
鸟哥linux+韩顺平linux视频教程学习小结
2016-05-30
韩顺平.linux视频教程学习小结.v1.0.pdf )
2016-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人