自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 问答 (5)
  • 收藏
  • 关注

原创 MySQL命令集锦

一、连接MYSQL。格式: mysql -h主机地址 -u用户名 -p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码.如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到M...

2011-04-28 14:07:44 52

原创 使用读写锁 (多线程编程指南)

使用读写锁配置读写锁的属性之后,即可初始化读写锁。以下函数用于初始化或销毁读写锁、锁定或解除锁定读写锁或尝试锁定读写锁。下表列出了本节中讨论的用来处理读写锁的函数。表 4–9 处理读写锁的例程 读取非阻塞读写锁中的锁 写入非阻塞读写锁中的锁 初始化读写锁使用 可以通过 attr 所引用的属性初始化 rwlock 所引用的读写锁。#include i...

2011-04-28 09:43:17 100

原创 __FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )

__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )#ifndef CLOBAL_H #define GLOBAL_H #include int funca(void); int funcb(void);#endifroot@xuanfe...

2011-04-27 16:03:23 61

原创 C++回调函数详解

一回调函数我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而 那个函数在需要的时候,利用传递...

2011-04-27 11:20:52 145

原创 volatile的介绍

volatile的介绍 volatile类似于大家所熟知的const也是一个类型修饰符。volatile是给编译器的指示来说明对它所修饰的对象不应该执行优化。volatile的作用就是用来进行多线程编程。在单线程中那就是只能起到限制编译器优化的作用。所以单线程的童鞋们就不用浪费精力看下面的了。没有volatile的结果 如果没有volatile,你将无法在多线程...

2011-04-25 11:27:50 64

原创 Linux下的多进程编程

(一) 理解Linux下进程的结构   Linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编 语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名 思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一 个代码段。   堆栈段存放的就是子程序的返...

2011-04-21 17:29:42 79

原创 exec函数族包括6个函数:

exec函数族包括6个函数:#include int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg, const char *envp[]);...

2011-04-21 17:18:58 293

原创 Map的使用详解(c++)

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有...

2011-04-21 15:55:48 53

原创 C++箴言:理解inline

inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多,而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢?   实际上你得到的可能比你想的更多,因为避免函数调用的成本只是故事的一部分。在典型情况下,编译器的优化是为了一段连续的没有函数调用的代码设计的,所以当你 inline 化一个函数,你可能就使得编译器能够对函数体...

2011-04-21 14:09:17 60

原创 Linux popen函数语法要点

popen函数语法要点所需头文件:#include函数原型: FILE*popen(const char *command,const char *type)函数传入值:Command:指向的是一个以null结束符结尾的字符串,这个字符串包含一个shell命令,并被送到/bin/sh以-c参数执行,即由shell来执行 type:“r”:文件指针链接到commond的标准输...

2011-04-21 10:46:49 111

原创 Linux下time函数

linux time 函数 asctimeeHPLinux联盟ctimeeHPLinux联盟gettimeofdayeHPLinux联盟gmtimeeHPLinux联盟localtimeeHPLinux联盟mktimeeHPLinux联盟settimeofdayeHPLinux联盟timeeHPLinux联盟asctime(将时间和日期以字符串格式表示) ...

2011-04-20 10:08:08 149

原创 在linux下遍历某一目录下内容

在linux下遍历某一目录下内容LINUX下历遍目录的方法一般是这样的打开目录->读取->关闭目录相关函数是opendir -> readdir -> closedir,其原型如下:#include DIR *opendir(const char *dirname);struct dirent *readdir(DIR *dirp);int closedir(DIR *di...

2011-04-19 16:15:41 79

原创 svn的使用

http://www.uml.org.cn/pzgl/200904246.aspTortoiseSVN使用简介 2009-04-24 来源:dev.idv.tw 1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么样在Windows下面建立SVN Repository? 5 建立一个Wo...

2011-04-18 18:02:33 60

原创 Linux下socket编程总结

什么是Socket   Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。    Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传...

2011-04-18 13:33:17 82

原创 Linux多线程经典总结

百度百科也介绍的不错线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能:1)有一int型全局变量g_Flag初始值为0;2) 在主线称中起动线程1,打印“this is thread1”,并将g_Flag设置...

2011-04-16 17:02:00 88

原创 在LINUX下获取网卡信息&&getifaddrs的时候遇到了内存方面的问题&&struct socketaddr和struct socketaddr_in的区...

在LINUX下获取网卡信息需要用到IOCTL或者getifaddrs而我在用getifaddrs的时候遇到了内存方面的问题先看相关定义:==========函数定义:/* Create a linked list of `struct ifaddrs' structures, one for each network interface on the host ...

2011-04-15 11:53:27 326

原创 linux system函数使用详解本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub....

相关函数fork,execve,waitpid,popen表头文件#i nclude定义函数int system(const char * string);函数说明system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCH...

2011-04-14 13:17:44 107

原创 Linux下smb服务器配置

一、smb服务器1.定义:smb=server message block2.samba是软件包组名称,smb服务包括两个核心进程: smbd: 处理文件访问包; nmbd: 提供smb的共享浏览;3.smb的作用: 主要用于解决局域网中linux与其它linux或windows之间的共享服务;4.samba软件包:samba-3.0.23c-2.i386...

2011-04-14 13:05:03 76

原创 C++容器和迭代器详解

一 迭代器(iterator) 迭代器:迭代器是类似指针的对象,STL算法利用它们对存储在容器中的对象序列进行遍历。5种类别:1、输入迭代器 2、输出迭代器 3、前向迭代器 4、双向迭代器 5、随机访问迭代器 ...

2011-04-11 13:43:33 203

原创 swap手法

swap手法 swap手法不应当是C++独有的技术,很多语言都可以实现,并且从中得到好处。只是C++存在的一些缺陷迫使大牛们发掘,并开始重视这种有用的手法。这 个原本被用来解决C++的资源安全和异常保证问题的技术在使用中逐步体现出越来越多的应用,有助于我们编写更加简洁、优雅和高效的代码。 接下来,我们先来和swap打个招呼。然后看看在C#里如何玩出swap。最后展示swap手法...

2011-04-09 16:12:43 211

原创 LINUX下的getifaddrs()函数的内存释放问题

LINUX下的getifaddrs()函数的内存释放问题在LINUX下获取网卡信息需要用到IOCTL或者getifaddrs而我在用getifaddrs的时候遇到了内存方面的问题先看相关定义:==========函数定义:/* Create a linked list of `struct ifaddrs' structures, one for each ...

2011-04-09 15:23:20 758 1

原创 htonl() htons()及inet_ntoa() inet_addr()的用法

htonl() htons()及inet_ntoa() inet_addr()的用法本文转自:http://hi.baidu.com/6908270270/blog/item/ee265e036737c58cd53f7c36.html现在我们很幸运,因为我们有很多的函数来方便地操作 IP 地址。没有 必要用手工计算它们,也没有必要用"...

2011-04-09 14:56:32 63

原创 基于Linux系统的边界网关协议的设计与实现

基于Linux系统的边界网关协议的设计与实现 3.6 BGP和RMer系统间通信 RMer系统和BGP系统之间采用的是UNIX本地的服务器客户端模式进行通信,它们创建的socket的地址格式为AF_UNIX,表示用于UNIX本地的通信。RMer系统与BGP系统之间的通信原理如图3-9所示,因为它们之间使用的是本地客户端和服务器模式进行通信,故称RMer系统为local server端,BG...

2011-04-09 14:38:53 268

原创 Linux多线程

<br />Posix线程编程指南(1)  <br /><br />内容:  <br />一、 线程创建  <br />二、线程取消  <br /><br />关于作者  <br />线程创建与取消  <br />杨沙洲(pubb@163.net)  <br />2001 年 10 月  <br /><br />这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。 <br />  <br />一、 线程创建  <br /

2011-04-09 11:23:00 349

原创 va_start,va_arg,va_end

va_start,va_arg,va_end是在stdarg.h中被定义成宏的,由于1)硬件平台的不同 2)编译器的不同,所以定义的宏也有所不同,下面以VC++中stdarg.h里x86平台的宏定义摘录如下(’\’号表示折行): typedef char * va_list; #define _INTSIZEOF(n) \((sizeof(n)+sizeof(int...

2011-04-09 11:14:09 103

原创 Linux Pthread线程详解

Posix线程编程指南(1) 内容: 一、 线程创建 二、线程取消 关于作者 线程创建与取消 杨沙洲(pubb@163.net) 2001 年 10 月 这是一个关于Posix线程编程的专栏。作者在阐明概念的基础上,将向您详细讲述Posix线程库API。本文是第一篇将向您讲述线程的创建与取消。 一、 线程创建 1.1...

2011-04-09 10:09:48 113

原创 网络协议总结

网络协议网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外。其...

2011-04-09 09:32:39 106

原创 解决乱码的方法(转)

解决乱码的方法(转)文章分类:Web前端 出现乱码怎么办,解决乱码的方法一,出现乱码的原因分析 1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储 2,输出的时候,要给内容指定编码,如以网页的形势输入时 3,从数据库取出数据时,搞不清楚数据库,设置的字符集 4,以汉字为例,汉字本来也有编码的,一个汉字gbk要二个字符,而utf...

2011-04-09 09:05:52 288

原创 Linux access函数功能描述: 检查调用进程是否可以对指定的文件执行某种操作

本文引用自1986fxhaaa《Linux access函数》Linux access函数功能描述: 检查调用进程是否可以对指定的文件执行某种操作。Linux access函数用法: #include #include int access(const char *pathname, int mode);Linux access函数参数: pathname:...

2011-04-08 18:01:37 275

原创 文件操作经典概括

OS.h 分类: C++ 2009-07-19 12:31#ifndef ICE_PATCH2_OS_H#define ICE_PATCH2_OS_H#include #include #include #include #ifndef ICE_PATCH2_API# ifdef ICE_PATCH2_API_EXPORTS# de...

2011-04-08 17:55:38 117

原创 Linux 函数--fstat/stat/lstat系统调用

表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf); 函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返回-1,错误代码存于errno错误代码:...

2011-04-08 17:44:40 676

原创 头文件string与string.h的区别

头文件string与string.h的区别 在C++中,#include与#include的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。喔,原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如...

2011-04-08 17:19:32 503

原创 深入理解C语言指针的奥秘

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。   先声明几个指针放着做例子:   例一:   (1)int*ptr;   (2)char*ptr;   (3)int**ptr;...

2011-04-08 16:56:26 48

原创 通过编程方式获取backtrace(函数调用栈)

过编程方式获取backtrace(函数调用栈) 在用GDB调试器时可以查看所谓的Backtrace,它包含一系列的函数调用信息,用命令backtrace或bt可以在GDB中查看函数调用栈的信 息。有些场合没法使用GDB时,则可以用glibc库函数中的一些相关函数来得到backtrace的信息(在头文件execinfo.h中): // 获取将backstrace信息,将地址存到buffer中。 ...

2011-04-08 16:49:01 301

原创 linux fcntl()函数

linux fcntl()函数 功能描述:根据文件描述词来操作文件的特性。 #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); [描述]Fcntl()针对(文件)描述符...

2011-04-08 16:28:16 95

原创 C语言中的__attribute__机制

C语言中的__attribute__机制 来源: ChinaUnix博客  日期: 2008.09.25 15:52 (共有0条评论) 我要评论 GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性...

2011-04-08 16:17:51 72

原创 Linux多线程编程

[size=large;][b]Linux下的多线程编程[/b][/size][size=x-small; color: #999999;]本文出自:http://www.china-pub.com 作者: 姚继锋 (2001-08-11 09:05:00)[/size][b]1 引言[/b]  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80...

2011-04-08 09:53:37 58

原创 fprintf ,vfprintf,sprintf..用法区别

今天在《Unix/Linux编程实践教程》书上,看到第八章8.5小题,不知道如何有这种输出结果,在网上搜了搜,自己总结:  fprintf函数将格式化的信息先输出到指定的缓冲流区域中,并未直接写到文件中,可能是因为读写缓存的原因,故在执行fork后,之前的输出就有了两个备份,故而得到输出结果。转自:http://fishsman.blog.sohu.com/160946978.html...

2011-04-08 09:36:55 576

string 的经典用法

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 首先,为了在我们的程序中使用string类型...

2011-04-08 09:32:18 45

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除