- 博客(39)
- 资源 (1)
- 收藏
- 关注
转载 linux下MySQL使用方法
一、引言 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使 用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux 和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门
2009-07-02 16:01:00 1172
原创 linux下svn命令大全
linux下svn命令大全2009-02-13 21:341、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php
2009-05-26 10:51:00 762
转载 Linux大文件使用
支持大文件的两种方式:1、gcc 加 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE2、注意一定要定义在include之前#define _LARGEFILE_SOURCE#define _LARGEFILE64_SOURCE#define _FILE_OFFSET_BITS 64建议两种方式都加上。可以在GDB调试时打印p sizeof(off
2009-05-19 16:07:00 1754
转载 Linux高手之路---SVN使用笔记
SVN是CVS的下一个版本,主要用来进行版本控制,可以对程序代码,音频,视频以及图像文件等,做版本控制。目录以及文件是Subversion中可以记录版本的对象。其主要工作原理如下图: _ _ _ _ _ _ _ _ _ _ / /
2009-03-18 14:26:00 707
转载 C++ Boost库简介
++ Boost库简介 boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。 boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模
2009-03-11 10:29:00 1161
转载 GDB调试精粹及使用实例
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序的参数,而使用sh
2009-03-05 15:22:00 591
原创 共享内存—内存映射mmap
共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空 间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易 见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。
2009-03-04 14:18:00 2161
原创 文本文件与二进制文件 - [互联网摘抄]
文本文件与二进制文件 - [互联网摘抄]一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。 简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以
2009-03-04 10:54:00 1356
转载 ofstream/ifstream 文本/二进制 方式 读入/写出 数据方法
文件 I/O 在C++中比烤蛋糕简单多了。 在这篇文章里,我会详细解释ASCII和二进制文件的输入输出的每个细节,值得注意的是,所有这些都是用C++完成的。 一、ASCII 输出 为了使用下面的方法, 你必须包含头文件(译者注:在标准C++中,已经使用取代,所有的C++标准头文件都是无后缀的。)。这是 的一个扩展集, 提供有缓冲的文件输入输出操作. 事实上, 已经被包含了, 所以你不必包含所
2009-03-03 19:12:00 2746
转载 倒排索引
倒排索引倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。有两种不同的反向索引形式:一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。 一个单词的水平反向索引(或者完全反向索引)又包含每个单词
2009-01-16 13:39:00 1106
原创 STL中map的用法剖析
STL(Standard Template Library 标准模版库)是C++标准程序库的核心,它深刻影响了标准程序库的整体结构。STL是一个范型(generic)程序库,提供一系列软件方案,利用先进、高效的算法来管理数据。STL的好处在于封装了许多数据结构和算法(algorithm),map就是其典型代表。map是STL的一个关联容器,它提供一对一(key/value 其中第一个可以称为关
2009-01-07 10:23:00 812
原创 VC Studio 使用技巧大全
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的Go To Def
2007-11-02 13:28:00 578
原创 NeuSoft练习4(文件的各种操作)
#include#include#define MAX_ROW 20#define MAX_COLUMN 10typedef struct nstTestTable //定义一个储存文件各种参数的结构体{ int ROW_COUNT; //保存行数 int COLUMN; //保存列数 char ROW_COUNR_NAME[MAX_ROW ][MAX_COLUMN]
2007-06-27 12:44:00 970
原创 NeuSoft练习5
#include #include #include /* 链表节点结构体*/typedef struct LinkNode{ int data; //数据域 struct LinkNode *next;//指向下一个节点的指针}LinkNode;/*****************************************************************
2007-06-27 12:38:00 799
转载 编程修养
什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。 我认为好的程序员应该有以下几方面的素质: 1、有专研精神,勤学善问、举一反三。 2、积极向上的态度,有创造性思维。 3、与人积极交流沟通的能力,有团队精神。 4、谦虚谨慎,戒骄戒燥。 5、写出的
2007-06-26 12:21:00 671
原创 缓冲区溢出深度防御体系
谈及防御之前 ------------ 首先简要回顾一下缓冲区溢出的攻击大系: ◆栈溢出(stack smashing) 未检查输入缓冲区长度,导致数组越界,覆盖栈中局部变量空间之上的栈桢指针%ebp以及函数返回地址retaddr, 当函数返回执行ret指令时,retaddr从栈中弹出,作为下一条指令的地址赋给%eip寄存器,继而改变原程序的执 行流程指向我们的shellcode. ◆堆溢
2007-05-26 20:13:00 1064
原创 缓冲区溢出深入理解
本文首先向读者讲解了Linux下进程地址空间的布局以及进程堆栈帧的结构,然后在此基础上介绍了Linux下缓冲区溢出攻击的原理及对策。前言从逻辑上讲进程的堆栈是由多个堆栈帧构成的,其中每个堆栈帧都对应一个函数调用。当函数调用发生时,新的堆栈帧被压入堆栈;当函数返回时,相应的堆栈帧从堆栈中弹出。尽管堆栈帧结构的引入为在高级语言中实现函数或过程这样的概念提供了直接的硬件支持,但是由于将函
2007-05-26 19:44:00 6980 4
原创 mysql学习体会
(一)启动mysql并进入mysql我的mysql存放在E://mysql目录中点击windows的开始按钮--->运行----->输入cmd 回车---->进入虚拟dos环境Microsoft Windows XP [Version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.C:/Documents and Sett
2007-05-26 19:16:00 1571
原创 指针传递内存深入探讨(三)
让我们继续前两次的讨论我们同样可以使用把指针作为返回值的方法来传递内存,而且我个人认为这是值得推荐的方式c代码:char *GetMemory3(int num){ char *p = (char *)malloc(sizeof(char)*num); return p;}int main(){ char *str = NULL; str = GetMemory3(100); s
2007-05-23 21:39:00 843
原创 指针传递内存深入探讨(二)
我们继续讨论关于指针传递内存的问题《高质量C/C++程序设计指南》中这样用是正确void GetMemory2(char **p, int num){ *p = (char*)malloc(sizeof(char)*num);}int main(){ char *str =NULL; GetMemory2(&str, 100); strcpy(str, "hello"); print
2007-05-23 20:49:00 769
原创 指针传递内存深入探讨(一)
林锐的《高质量C/C++程序设计指南》有这样一个例子:void GetMemory(char *p, int num){ p = (char*)malloc(sizeof(char)*num);}int main(){ char *str = NULL; GetMemory(str, 100); strcpy(str, "hello"); }书中也说这样用是完全错误的,但是错误的原因书中解
2007-05-23 18:08:00 1354
原创 链表倒转等操作完整程序
写一个链表的的操作的例子,虽然没什么难度,但是好久没写了,练练手。 #includestdio.h>typedef struct tagLinkNode //定义一个节点结构体...{ char m_type; struct tagLinkNode *next;}LinkNode;LinkNo
2007-05-23 17:18:00 1145
转载 Vim的行号、语法显示等设置,即.vimrc文件的配置
在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当
2007-04-02 20:20:00 863
原创 交换机 路由器 集线器的区别
最近看到很多人在询问交换机、集线器、路由器是什么,功能如何,有何区别,笔者就这些问题简单的做些解答。首先说HUB,也就是 集线器 。它的作用可以简单的理解为将一些机器连接起来组成一个局域网。而 交换机 (又名交换式集线器)作用与集线器大体相同。但是两者在性能上有区别:集线器采用的式共享带宽的工作方式,而交换机是独享带宽。这样在机器很多或数据量很大时,两者将会有比较明显的。而 路由器 与以上两者
2007-03-29 19:32:00 1300
原创 冲突域广播域
网络互连设备可以将网络划分为不同的冲突域、广播域。但是,由于不同的网络互连设备可能工作在OSI模型的不同层次上。因此,它们划分冲突域、广播域的效果也就各不相同。如中继器工作在物理层,网桥和交换机工作在数据链路层,路由器工作在网络层,而网关工作在OSI模型的上三层。而每一层的网络互连设备要根据不同层次的特点完成各自不同的任务。
2007-03-29 19:29:00 4979 1
转载 想成为嵌入式程序员应知道的16个基本问题
这是嵌入式C程序员的基本知识。作者在Embedded Systems Programming杂志上发表了很多嵌入式系统开发方面的文章。 C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题
2006-12-21 09:47:00 1966
原创 由卢旺达的“高薪”想到的
今天看见一个人发帖说什么他看见报道说卢旺达呼叫中心的大学生每月正1000美金。他还愤愤不平的说在中国工资如何如何少,发泄心中的不满情绪。 后来有一个网友回帖说他去过卢旺达,实事并非如此,本科生毕业工资能超过100美金就不错,只有很少的管理人员才能达到400美金。 通过这个例子我们看出想问题做事情不能听风就是雨,想问题必须要经过大脑的思考。切忌人
2006-12-21 03:14:00 923
原创 一个字符串的操作可以求子串并定位
随便写的一个字符串的操作可以在一个子串中求出某一个子串的出现次数和出现的位置。 #includeiostream>#includestring>using namespace std;int PartPostion(char src[], char partString[], int pos)
2006-12-20 19:24:00 1902
原创 自己编的一个二叉搜索树的综合操作
自己编的一个二叉搜索树的综合操作,感觉程序挺经典的。基本上二叉搜索树的各种操作都有了,不过还少一个二叉搜索树的后序非递归遍历。#include iostream>#define max 10using namespace std;struct BinTreeNode
2006-12-19 21:19:00 907
转载 堆和栈的区别
一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,
2006-12-19 15:39:00 784
原创 一个作业调度程序,采用的链式优先级队列
以前编的一个使用链式优先级队列的作业调度程序,也是比较简单的。#includeiostream>#includeassert.h>using namespace std;enum staff...{Manager,Supervisor,Worker};struct JobRequest //员工请求类
2006-12-19 09:23:00 2040
原创 以前写的一个简单的货架程序
过去的c++作业现在把它贴出来其中主要是用到了拷贝构造函数和赋值运算符重载以及深拷贝这些知识。程序虽然很简单,但还是有一些价值的。 /**//* version: 1.0 author: LSK date: 2006.10.26*/#include iostream.h>#include string.h>#define max
2006-12-19 03:09:00 1370
原创 堆的综合操作
前几天写了一个堆的综合操作 #include iostream.h>#include string.h>#define DefaultSize 12class MinHeap //最小堆的类...{private: int *heap; int CurrentSize; int MaxHeapSize;public:
2006-12-18 10:47:00 683
转载 static用法小结
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可分为三种auto, static, regi
2006-12-17 22:32:00 731
原创 链表就地倒转
一个链表就地倒转的函数。 链表倒转函数. code* inverse(code* head) //逆向输出 ...{ code* p1; code* p2;
2006-12-13 20:57:00 916
原创 约瑟夫环程序
昨天编了一个约瑟夫环的小程序,用的循环链表。 #include iostream>using namespace std;struct Boys //Boys作为节点的结构体...{ int m_number; Boys *next; Boys(int number = 1, Boys *link = NULL) :
2006-12-13 18:04:00 1542
转载 关于C++的覆盖、重载和隐藏
写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的),常常把重载(overload)和覆盖(override)搞错! 我们先来看一些代码及其编译结果。 实例一: #include "stdafx.h
2006-12-13 10:47:00 711
转载 从实例谈OOP、工厂模式和重构
有了翅膀才能飞,欠缺灵活的代码就象冻坏了翅膀的鸟儿。不能飞翔,就少了几许灵动的气韵。我们需要给代码带去温暖的阳光,让僵冷的翅膀重新飞起来。结合实例,通过应用OOP、设计模式和重构,你会看到代码是怎样一步一步复活的。 为了更好的理解设计思想,实例尽可能简单化。但随着需求的增加,程序将越来越复杂。此时就有修改设计的必要,重构和设计模式就可以派上用场了。最后当设计渐趋完美后,你会发现
2006-12-12 19:27:00 887
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人