- 博客(28)
- 资源 (3)
- 收藏
- 关注
原创 c语言宏定义(macro)学习
参考:https://gcc.gnu.org/onlinedocs/cpp/Macros.htmlgcc编译过程一般分为预处理,编译,汇编,连接四个阶段。宏定义在预处理阶段就会被展开。由于预处理器并不认识c预留关键字,所以绝大部分合法的标识符都可以被定义为宏,比如我们可以重定义const的含义。只有define关键字和c++命名操作符不能被重定义。一。对象形式的宏定义: #define OBJEC...
2018-06-02 12:04:53
9727
原创 leetcode: super washing machines
问题描述:You have n super washing machines on a line. Initially, each washing machine has some dresses or is empty.For each move, you could choose any m (1 ≤ m ≤ n) washing machines, and pass one dress of...
2018-05-31 22:33:26
255
原创 回溯算法--n皇后问题
问题描述在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。 你的任务是,对于给定的N,求出有多少种合法的放置方法。 代码实现:class Solution {public: typedef unsigned int u32; int totalNQueens(int n) { if...
2018-05-27 15:53:54
549
原创 Frog Jump - 非递归实现青蛙过河问题
问题描述A frog is crossing a river. The river is divided into x units and at each unit there may or may not exist a stone. The frog can jump on a stone, but it must not jump into the water.Given a list of...
2018-05-27 00:19:17
760
原创 动态规划-最长公共子序列问题
最长公共子序列问题(longgest common subsequence problem)给定两个序列X=<x1,x2,...,xn>和Y=<y1,y2,...,ym>,求他们的最长公共子序列Z=<z1,z2,...,zk>。首先明确最长公共子序列可能是非连续的。比如x=abcbd; y=acdbcad; lcs=abcd。问题分析:1.如果xn==ym,则...
2018-05-26 19:14:41
236
原创 动态规划 ---小朋友过桥问题分析
小朋友过桥问题:在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的这边,现在他们需要过桥,但是由于桥很窄,每次只允许不大于两人通过,他们只有一个手电筒,所以每次过桥的两个人需要把手电筒带回来,i号小朋友过桥的时间为T[i],两个人过桥的总时间为二者中时间长者。问所有小朋友过桥的总时间最短是多少。问题分析:首相将n个小朋友按过河时间从小到大排序,设第i个小朋友过河的时间为T[i]。假设...
2018-05-26 16:43:06
6403
4
原创 iptables备忘
Iptables是一个根据数据链路层,网络成,传输层的包头信息进行数据包过滤的防火墙。1.查看iptables规则Iptables –L –nv,iptables-save2.策略:当数据包不满足所有规则时,则采用策略 Iptables[-t filter|nat|mangle] –P [INPUT|OUTPUT|FORWARD] [ACCEPT|DROP]3.
2014-10-05 21:36:27
590
原创 expect学习
自动登录远程机器,执行相关命令。expect_exec.sh#!/usr/bin/expect -flog_file expect_exec.logset timeout 5set ip [lindex $argv 0]set user [lindex $argv 1]set password [lindex $argv 2]set cmd_str [lindex $a
2014-02-09 19:23:23
637
原创 lsof
某一进程打开的文件: lsof-p pid某一用户打开的文件:lsof –u username某一命令打开的文件 lsof–c command查看某个文件夹下打开的所有文件 lsof+d dir_path打开某一文件的进程 lsof filename 指定多个条件若指定-a,则代表多个条
2014-02-09 19:09:47
698
原创 tcpdump备忘
Tcpdump 备忘1.作用:dump traffic on a network。Tcpdump [-选项] [expression]2.选项-w file_name 将数据包存储到文件中,-r file_name从文件中读取数据包-c count 在补货到count个数据包时自动退出-n 打印ip地址,而不是主机名称;-nn打印端口号,而不是常见服务名称-q打印尽可能少的
2013-10-06 00:43:28
825
转载 linux内核中断内幕
源地址:http://hi.baidu.com/houdelei250/blog/item/ebbafc8068480fc6bc3e1e03.html
2012-06-10 13:34:14
761
转载 如何评估机器网络吞吐能力
源地址:http://hi.baidu.com/houdelei250/blog/item/ebbafc8068480fc6bc3e1e03.htmllinux内核会给每一个设备分配中断号.linux内核初始化的过程中会加载设备驱动.加载设备驱动说白了,是在内核中为设备的中断号注册回调函数.回调函数的作用就是响应设备中断的.上面信息用到网卡上,就是说,linux内核给网
2012-06-10 13:17:36
977
原创 查找含有指定字符串的文件
find . -type f -regex ".*\.c" -exec grep "main" {} \; -print在当前目录 查找以.c结束的文件中,是否含有"main"字符串
2012-05-24 10:28:43
593
原创 find详解-未完
突然想以忽略大小写的方式查找文件,上网没找到有用资料,只好求助man,无聊的很,就翻译了下,没翻译完,下次待续。但是找到了自己想要的东西 -iname 以忽略大小写的方式查找。Find的主要功能是在文件树中查找符合条件的文件。语法:Find [-H] [-L] [-P] [path...] [expression]语法很简单,[-H] [-L] [-P] 是一些关于如何处理符号连接
2012-04-09 17:08:23
619
原创 gdb详解---写在gdb边上
本人鸟蛋,由于太菜,不敢称为菜鸟,只能自称鸟蛋。以下内容全是胡扯,如有价值,纯属巧合。Gdb的主要作用是调试一个程序,调试一个进程或者查看当程序崩溃时在执行那条语句。为了帮助你发现程序的 bug,Gdb主要做四件事情:1.开始运行程序并指定参数2.设置断点,观察点等3.当程序在断点停止时,查看程序的上下文环境(变量值,内存状况等)4.在程序运行时,改变程序中变量的值Gd
2012-04-09 10:32:44
673
原创 Linux c 网络编程
本文将实现一个最简单的客户端/服务器程序。以下所述均属个人理解,如有不对,欢迎批评。所谓网络编程就是调用操作系统提供的函数实现部署在不同地域的应用程序间的数据交换。基本概念:客户端是指网络通信中主动发起连接的一方,服务器是指被动等待连接的一方。套接字是一个抽象层,可以将其理解为一个特殊的文件句柄,应用程序可以通过它向网络中写入或读取数据,即发送或接收数据。也就是说应用程序通过套接字连接到网络中
2011-12-07 22:30:25
826
原创 c语言可变参数
在c和c++中有一类函数含所有不确定的参数列表,例如经典的printf(char *format,...)。本文讲讨论如何实现变长参数的函数。在中包含了一组宏定义,他们对如何遍历参数表进行了定义。主要有4个类型:va_list:用于声明一个变量,该变量依次引用参数列表中的参数,例va_list ap;看起后缀list,应该就是一个链表va_start:用于将ap声明的变量指向第一个
2011-11-04 18:56:04
652
原创 gdb详解
程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。本文将主要介绍linux下的强大调试工具是怎么完成这些工作的。之所以要调试程序,是因为程序的运行结果和预期结果不一致,或者程序出现运行时错误。调试的基本思想是:分析现象->假设错误原因->产生新的现象去验证假设1.gcc -g main.c要用gdb调试程序,必须在编译时加上-g选项,-g选项的作用是在
2011-11-04 11:31:09
16517
1
原创 oracle共享服务器和专用服务器
<br />关于专用服务器和共享服务器有个相当经典的比喻。<br />我们把oracle服务器比喻成一个餐馆,你去餐馆吃饭,如果有个服务员专门为你服务,从你进去就站在你身边,那这就是专用模式。如果她还未其他客人服务,那这就是共享服务器模式。<br />这么查看我们的服务器是共享模式还是专用模式呢?<br />我们可以查看shared_servers是否为0,如果是0,则代表是专用服务器模式,客户端只能用专用服务器模式连接,用共享的会报错。如果不为0,这代表共享server process的个数。客户端可以选
2011-04-01 11:40:00
1820
原创 oracle监听器配置
<br />刚学了动态监听、静态监听、非标准监听、共享服务器模式、专用服务器模式,赶紧写下来,免得忘了。顺便把自己怎么配置plsql developer的说说。<br />先讲一小故事。有一天你要去贾府找贾宝玉请教怎么去追林妹妹。要达到这个目的,要分几步实施呢?首先要找到贾府大门,告诉门卫你要找贾宝玉,门卫肯定知道贾府里住这个不学无术、好吃懒做的少爷叫贾宝玉。这时候他会做什么事情呢?假设贾府克隆人技术非常发达,可以随时克隆出一个贾宝玉。第一种情况,贾府待人非常热情,知道你要找贾宝玉,就立马克隆出一个贾宝玉招
2011-04-01 11:39:00
5325
原创 plsql developer连接oracle数据库
<br />一般可以分为三步:<br />1.安装oracle客户端,下一步,下一步就可以了,基本不用改什么东西。<br />2.配置本地名字解析tnsnames.ora,不用它直接输连接字符串也行。<br />3.连接。<br />说下名字解析的配置:<br />在tnsnames.ora加入以下内容<br />ORCL_1.1.1.1_dedicated =<br /> (DESCRIPTION =<br /> (ADDRESS = (PROTOCOL = TCP)(HOST = 1.1.1.1
2011-04-01 11:38:00
3715
原创 Linux文件打包与压缩
Linux系统主要打包压缩工具有:tar gzip bzip2打包和压缩是两个不同的概念,在linux下,压缩工具只能针对单一文档,也就是说文件夹是不能直接压缩的,这怎么办呢?先打包,也就是把多个文件打包成一个文件。tar就是做这事情的,但是后来GNU又给它加了几个参数,使他在打包完成后调用相应的压缩工具对打包后的文档进行压缩。bzip2:压缩工具bzip2 -zvk 要压
2011-03-25 21:30:00
728
转载 linux查看硬件信息及驱动设备相关整理
<br />在LINUX环境开发驱动程序,首先要探测到新硬件,接下来就是开发驱动程序。<br />常用命令整理如下:<br />用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)<br />查看CPU信息:cat /proc/cpuinfo<br />查看板卡信息:cat /proc/pci<br />查看PCI信息:lspci (相比cat /proc/pci更直观)<br />查看内存信息:cat /proc/meminfo<br />查看USB设备:
2011-03-25 13:20:00
431
原创 vim详解
vim是一个功能非常强大的纯文本编辑器。对一个纯文本的编辑无非就是 插入、删除、复制、粘贴、替换、查找、撤销、重做,这些都可以由vim来完成。vim有常用的有插入模式,命令行模式。在插入模式可以输入文本,命令行模式可以执行下面所讲到的命令。按i,I,a,A,o,O进入插入模式,按ESC返回命令行模式。在命令模式,按:可以输入一些命令,常用的有q!(不保存修改退出)qw(保存修改退出)qw!(强制保存修改退出)set nu显示行号 set nonu取消显示行号。
2011-03-23 10:45:00
508
原创 shell编程之正则表达式
<br />先建一文件吧,就叫做aa.txt<br />内容如下:(本人叫周元军,就以我的名字做内容吧)<br />zhouzhouzhouzhouyuanjun<br />zhouzhouzhouyuanjun<br />zhouzhouyuanjun<br />zhouyuanjun<br />yuanjun<br />Zhouyuanjun<br />Yuanjun<br />Jun<br />基本元字符就那几个:*.^$[]()/。<br />相信没人不知道,这里重点强调下*,它用在一个单字符或者单
2011-03-17 21:57:00
405
原创 忘记了root密码怎么办?
如果把root用户的密码忘了怎么办呢?本文将介绍一种简单办法解决这一问题——以单用户模式启动系统。在系统启动时,按任意键进去grub引导程序菜单,选中要启动的系统,按e键进入编辑界面在kernel /vmlinuz-2.6.18-53.e15 ro root=LABEL=/ rhgb quiet后面加上single就可以了,也就是变成了kernel /vmlinuz-2.6.18-53.e15 ro root=LABEL=/ rhgb quiet single按Enter确定,返回上已成菜单,按b开启引导。
2011-03-17 21:20:00
856
linux常用命令-十分全面
2010-04-15
CAJ阅读器 cajviewer
2010-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人