自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yuan_hong_wei

努力和遗憾 哪个更痛苦

  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

转载 C语言中extern详解

在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。1. extern修饰变量的声明。举例来说,如果文件a.c需要引用b.c中变量int v,就可以在a.c中声明extern int v,然后就可以引用变量v。这里需要注意的是,被引用的变量v的链接属性必须是外链接(external)的,也就是说a.c要引用到v,不只是取决于在a

2016-07-26 16:54:12 9311

原创 Linux查看端口号

查看某一端口的占用情况: lsof -i:端口号显示系统端口使用情况:netstat -anp

2015-12-29 13:38:39 541 1

转载 Tomcat在Linux上的安装与配置

Tomcat在Linux上的安装与配置    以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK与Tomcat.    jdk下载地址:    http://www.oracle.com/technetwork/java/javase/downloads/j

2015-12-18 15:06:13 374

原创 S_ISDIR 、S_ISLNK等几个常见的宏

S_ISLNK(st_mode):是否是一个连接.S_ISREG(st_mode):是否是一个常规文件.S_ISDIR(st_mode):是否是一个目录S_ISCHR(st_mode):是否是一个字符设备.S_ISBLK(st_mode):是否是一个块设备S_ISFIFO(st_mode):是否 是一个FIFO文件.S_ISSOCK(st_mode):是否是一个SOCKET

2015-12-16 13:24:51 6603

原创 opendir、readdir、rewinddir、closedir、telldir、seekdir、stat函数和DIR、dirent、stat结构体详解

一、opendir()头文件#include#include函数原型DIR* opendir (const char * path );功能打开一个目录返回值成功则返回DIR*型态的目录流, 打开失败则返回NULL.DIR结构体:struct __dirstream{      void       *__fd

2015-12-16 12:44:48 2757

转载 Linux下查看环境变量

如果你想查看某一个名称的环境变量,命令是:echo $环境变量名,比如:echo $ORACLE_HOME这是最基础的,下面来讲下稍微深入一点的,并举例说明1.显示环境变量HOME$echo $HOME/home/ljj2.设置一个新的变量$ export HELLO=”Hello!”$ echo $HELLOHello!3. 使用e

2015-12-14 14:30:22 1293

原创 stat函数详解——Linux

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

2015-12-14 14:09:08 1380

原创 atoi 等相关函数的用法

本文中调用的四个函数如下:atoi函数:将字符串转化为int类型变量atol函数:将字符串转化为long类型变量atoll函数:将字符串转化为long long类型变量atof函数:将字符串转化为double类型变量这些函数的转化过程,都是将一个字符串的可读部分取到变量中遇到不可读的部分,则直接终止读取调用示例:?

2015-11-24 16:54:34 1493

转载 解析ISO8583报文实例

本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载。现在我们有ISO8583报文如下(十六进制表示法):60 00 03 00 00 60 31 00 31 07 30 02 00 30 20 04 C0 20 C0 98 11 00 00 00 00 00 00 00 00 01 00 03 49 02 10 00 12 30 62 25

2015-11-19 19:16:14 593

原创 Oracle数据库错误码大全

ORA-00001: 违反唯一约束条件 (.)ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程;无法转换会话ORA-00022: 无效的会话 ID;访问被拒绝ORA-00023: 会话引用进程私用内存;无法分离会话

2015-11-18 10:41:42 7406

转载 Linux进程间通信——使用数据报套接字

前一篇文章,Linux进程间通信——使用流套接字介绍了一些有关socket(套接字)的一些基本内容,并讲解了流套接字的使用,这篇文章将会给大家讲讲,数据报套接字的使用。一、简单回顾——什么是数据报套接字。socket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系统的开发工作既可以在本地单机上进行,也可以跨网络进行。也就是说它可以

2015-11-09 19:55:27 369

转载 Linux进程间通信——使用信号量

这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。一、什么是信号量为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行

2015-11-09 19:53:51 531

转载 Linux进程间通信——使用命名管道

在前一篇文章——Linux进程间通信——使用匿名管道中,我们看到了如何使用匿名管道来在进程之间传递数据,同时也看到了这个方式的一个缺陷,就是这些进程都由一个共同的祖先进程启动,这给我们在不相关的的进程之间交换数据带来了不方便。这里将会介绍进程的另一种通信方式——命名管道,来解决不相关进程间的通信问题。一、什么是命名管道命名管道也被称为FIFO文件,它是一种特殊类型的文件

2015-11-09 19:52:09 320

转载 Linux进程间通信——使用匿名管道

在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。一、什么是管道如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另

2015-11-09 19:50:27 319

转载 Linux进程间通信——信号集函数

我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。有关Linux进程间使用信号通信的更多内容,可以参阅我的另一篇文章——Linux进程间通信—

2015-11-09 19:48:59 337

转载 Linux进程间通信——使用信号

一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产

2015-11-09 19:47:32 286

转载 Linux进程间通信——使用流套接字

前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程。通常我们使用socket进行网络编程,这里将会简单地讲述如何使用socket进行简单的网络编程。一、什么是socketsocket,即套接字是一种通信机制,凭借这种机制,客户/服务器(即要进行通信的进程)系

2015-11-09 19:44:50 406

转载 Linux进程间通信——使用共享内存

下面将讲解进程间通信的另一种方式,使用共享内存。一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc

2015-11-09 19:41:02 327

转载 Linux进程间通信——使用消息队列

下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道一、什么是消息队列消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。  每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息来避免命名管道的同步和阻塞

2015-11-09 19:37:56 345

转载 linux信号机制

Linux编程,信号是一个让人爱恨交加又不得不提的一个领域。最近我集中学习了Linux的signal相关的内容,分享出来,也为防止自己忘记。    信号的本质是异步。异步一这个词,听着高端大气上档次,又让人云山雾绕,其则不然。其实我们想想,我们这个世界是异步的,每个人干事儿,并不总是A->B->C->D这种。比如我在网上买了东西,我其实并不知道快递几时能到。我可能在公司里面,在喝水,在回邮件,

2015-11-09 15:40:47 353

转载 sigsetjmp和siglongjmp详解

相关函数:longjmp, siglongjmp, setjmp 表头文件:#include  函数定义:int sigsetjmp(sigjmp_buf env, int savesigs) 函数说明:sigsetjmp()会保存目前堆栈环境,然后将目前的地址作一个记号,而在程序其他地方调用siglongjmp()时便会直接跳到这个记号位置,然后还原堆栈,继续程序好执行。 参数e

2015-11-09 15:36:30 4067

原创 ubuntu下安装vim失败,不满足依赖关系

安装vim时出现以下提示信息:vim: Depends: vim-common (= 2:7.4.712-2ubuntu3) 但是将要安装 2:7.4.712-2ubuntu4 解决办法:1、执行sudo apt-get remove vim-common 卸载vim-common               2、再执行sudo apt-get install vim

2015-10-23 16:58:13 3858

转载 ISO8583报文协议——很容易理解

我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的影响力有多大了。最初刚接触它时,确实对其中的一些细节概念不是很清晰,对有些地方比较迷惑。鉴于此,我想很多同行也必然会经历同样得阶段,所以我写下本文,以便大家能够少走一些弯路。同时,我在网上(http://blog.csdn.net/lysheng/archive/2005/03/03/3

2015-10-15 10:03:59 16704 3

原创 oracle SQL常用语句

一、数据查询1、数据查询基础基本语法:select [all|distinct] column_name[,expression...]from table1_name[,table2_name,view_name,...][where condition][group by column_name1[,column_name2,...] [having group_condi

2015-10-09 16:43:17 645 2

原创 oracle SQL *Plus常用命令

SQL * PLUS 常用命令一、启动与退出1、启动2、退出:输入EXIT或QUIT,回车二、连接与断开数据库1、连接:conn[ect] [username]/[password] [@hoststring]  以特权用户身份连接:后面加as sysdba或者as sysoperconn[ect] [username]/[password] [@h

2015-10-09 09:05:59 872

转载 linux 隐藏显示终端光标

一、使用shell 的 echo 命令实现。    echo -ne [?25l&    echo -ne [?25h&    l,h为字母, 是按下ctrl键不放,然后按下V, 就是按一下键盘上的ESC键    在终端回显的情况如下:    echo -ne&    echo -ne&    其中^[是用得到的,直接输入^[无效    超级终端里的光标经常意外消失

2015-04-06 22:44:40 3173

原创 三层架构:表示层——业务逻辑层——数据访问层

1.什么是三层架构   所谓的三层开发就是将系统的整个业务应用划分为表示层——业务逻辑层——数据访问层,这样有利于系统的开发、维护、部署和扩展。  分层是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。·                  表示层:负责直接跟用户进行交互,一般也就是指系统的界面,用于数据录入,数据显示等。意味

2015-04-06 15:53:40 18349

原创 mysql密码无法修改

一.错误mysqladmin: connect to server at 'localhost' failederror: 'Access denied for user 'root'@'localhost' (using password: YES)'二.解决1.mysql -uroot -p2.>use mysql;3.> update user set passwor

2015-03-28 10:23:38 466

转载 程序员和计算机语言的发展

某天看到一篇博文,《一百年后,人类怎样编程?》,只是这个题目,就勾起心中无限感慨。文章没细看,内容大致是分析各种语言,以及其中各种语言现象,今后的发展趋势。我对于语言的进步一直不感冒,对5年前就有很多人推崇的Ruby,至今也懒得抬眼皮看看,8年前被迫用过几天Perl,我就断定这是最糟糕的编程语言之一,因为它标榜自由,却又没法真正自由。时至今日,我仍然只用C++,C#,Java这三种语言,如果SQL

2015-03-27 18:02:18 612

转载 linux gedit的配置

gEdit是GNOME桌面环境中默认的文本编辑器,它简单易用,对中文支持良好,支持多种字符编码,同时具有开放的插件支持特性。通过安装插件,作一些 简单的设置,gEdit就可以做为一个简洁的编程环境。            在我的ubuntu 8.04下,默认情况只安装了gedit包,还有以下几个插件: 代码:         Change case: Changes the case of

2015-03-24 22:51:41 3147

原创 对man手册的汉化命令

sudo apt-get install manpages-zh

2015-03-20 19:34:38 469

原创 联合(union)用法

联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出!1、什么是联合?   “联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入

2015-03-16 18:16:16 394

原创 中国地区的官方ubuntu源

1、首先备份Ubuntu 11.10源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup(备份下当前的源列表)2、修改更新源sudo gedit /etc/apt/sources.list#台湾源deb http://tw.archive.ubuntu.com/ubuntu/ precise main

2015-03-14 15:33:39 430

原创 vim配置文件

--------------------------------------------------------------------------------------------------------------------                                                  显示相关 ---------------------

2015-01-29 21:04:53 318

转载 socket地址说明及转换函数

1.   三种常见结构类型  在套接字编程编程中,有三种常见的结构类型,它们用来存放socket地址信息。这三种结构类型分别为struct in_addr、struct sockaddr、struct sockaddr_in,对这三种结构类型说明如下。struct in_addr专门用来存储IP地址,对于IPv4来说,IP地址为32位无符号整数。其定义如下:struct in_addr

2015-01-29 10:48:33 674

转载 指针函数与函数指针的区别

一,它们的定义1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针     类型标识符    *函数名(参数表)      int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:f

2015-01-26 10:03:33 231

转载 int main(int argc,char* argv[])详解

argc是命令行总的参数个数    argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数     命令行后面跟的用户输入的参数,比如:     int   main(int   argc,   char*   argv[])     {     int   i;     for   (i   =   0;   i  i++)     cout

2015-01-23 13:31:57 277

桌面整理工具fences,附破解工具

桌面整理工具fences,内有破解工具,亲测有效。。。。。

2018-10-23

Xmind思维导图教程pdf

思维导图又叫心智导图,是表达发散性思维的有效图形思维工具,它简单却又很有效,是一种实用性的思维工具。

2018-08-03

TortoiseSVN内有汉化包

TortoiseSVN软件安装,如果需要汉化,则在安装TortoiseSVN过后运行LanguagePack_1.9.0.26652-x64-zh_CN这个程序即可汉化

2015-11-17

空空如也

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

TA关注的人

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