gpengtao的专栏

全世界有那么多的人在琢磨计算机,你能在什么地方比其他人都更进一步呢。...

利用AbstractRoutingDataSource实现动态数据源切换

转载自:http://dsbjoe.iteye.com/blog/1176779 最近要为公司多个游戏做类似的统计功能,考虑到模块的复用性,决定做个动态数据源,根据不同的游戏参数切换不同的datasource。 网上查了下,spring2.0以后增加了AbstractRou...

2014-02-07 09:40:51

阅读数:682

评论数:0

JNDI 是什么

转载自:http://blog.csdn.net/zhaosg198312/article/details/3979435 JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一,不少专家认为,没有透彻理解...

2014-02-07 09:13:10

阅读数:694

评论数:1

验证码 Servlet

编写一个验证码Servlet:生成图像,将值存入JSP的session。 package com.gpengtao.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import ja...

2012-12-22 08:46:02

阅读数:554

评论数:0

java 实现关机工具,托盘图标

以下是自己使用swing编写的windows关机工具,实现了托盘图标。 package com.gpengtao; import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.FlowLay...

2012-12-08 15:58:01

阅读数:1520

评论数:0

进程只运行一个实例

守护进程往往需要设置使其只运行一个实例,这里展示文件锁的方式实现: 1.使用fcntl()函数设置文件锁 #include #include #include #include #include #include #include int main() { int ...

2012-09-09 20:45:01

阅读数:1119

评论数:0

ioctl()函数获取本机IP、MAC

#include int ioctl(int d, int request, ...); /* Socket configuration controls. */ #define SIOCGIFADDR 0x8915 /* get PA address */ #define SIOCSI...

2012-08-30 18:29:22

阅读数:6997

评论数:0

线程与信号

总结: signal()设置对某种信号的处理方式,只能有一种处理方式,即设置进程、线程的信号handler,对进程、线程都有效。 pthread_kill()可以向线程发送信号。 pthread_sigmask()设置线程的阻塞信号集,但是仅仅对该线程有效。 kill()向进程发送信号,由...

2012-08-29 17:58:06

阅读数:2752

评论数:1

linux守护进程 编写要点

守护进程(Daemon)是运行在后台的一种特殊进程,脱离于终端。它在执行过程中产生的信息也不会在终端上显示。守护进程周期性地执行某种任务或等待处理某些事件的发生。Linux的大多数服务器就是用守护进程实现的。 编写要点:(最后有完整示例) 1.屏蔽一些有关终端操作的信号。这是为了防止在守护进程...

2012-08-21 11:15:41

阅读数:2056

评论数:0

linux 睡眠函数——sleep(),usleep()

#include unsigned int sleep(unsigned int seconds);//睡眠秒 返回值:成功返回0,或者返回剩余的要睡眠的秒数(被signal中断后). int usleep(useconds_t usec);//睡眠微秒 返回值:成功返回0,出错返回...

2012-08-20 17:02:35

阅读数:19974

评论数:0

linux 信号 意义

信号 默认动作 信号产生的原因 SIGHUP                   终止进程                        终端线路挂断 SIGQUIT                 建立C...

2012-08-17 22:27:12

阅读数:1151

评论数:0

linux进程状态

1.R: TASK_RUNNING,正在运行或者处于就绪状态 很多操作系统教科书将正在CPU上执行的进程定义为RUNNING状态、而将可执行但是尚未被调度执行的进程定义为READY状态,这两种状态在linux下统一为 TASK_RUNNING状态。 例子:ps -aux //会看到ps这个程序命令...

2012-08-13 01:12:15

阅读数:1295

评论数:0

exit 和 _exit

函数声明: #include void exit(int status); void _Exit(int status);//等同于_exit   #include void _exit(int status); eixt和_exit的比较: exit: 1.退出...

2012-08-12 22:07:07

阅读数:1035

评论数:0

pthread_attr_init 线程属性

我们一般创建线程是这样 pthread_t tid; pthread_create(&tid, NULL, func, NULL); 第二个参数是线程属性设置,一般设置为了NULL,但是可以通过系统API进一步设置第二个参数,细化创建的线程的属性。   大致步骤为: pthr...

2012-07-27 11:33:28

阅读数:6482

评论数:1

Windows下命令行编译程序

以我的机子为例,安装的是VC2010,目录是:D:\Program Files (x86)\Microsoft Visual Studio 10.0。 cl.exe是VC控制 Microsoft C和C++编译器与链接器的32位工具,在目录 D:\Program Files (x86)\Micr...

2012-07-21 00:07:37

阅读数:1239

评论数:0

这CSDN博客内容的格式怎么设置?求指导

我的代码粘上去之后各种看着不舒服,比如一个函数的参数很长,一行容不下,我换行后就是对不齐,tab键是不是显示不出来,看着乱乱的,可读性一下子不行了! 所以请教CSDN的博客怎么排版啊?

2012-07-20 18:28:48

阅读数:784

评论数:0

Win32多线程编程 总结

DWORD = unsigned long HANDLE = void * LPVOID = void * WINAPI = __stdcall //线程函数的原型 DWORD WINAPI ThreadFunc(LPVOID); //创建线程: HANDLE Cre...

2012-07-20 14:08:09

阅读数:1375

评论数:0

getc,getchar,getch,getche

Windows平台下: #include int getc(FILE *_File);    //从文件中读取一个字符,文件位置指示器后移一个 int getchar(void);          //从stdin读取一个字符,回显(就是屏幕上显示输入的字符),等到输入的回车才结束,只取...

2012-07-11 18:12:46

阅读数:785

评论数:0

fork,vfork,system

1.fork()函数 #include pid_t fork(void); 创建一个子进程。 正确返回:父进程中返回子进程的进程号;子进程中返回0;(返回两次,父进程和子进程中各返回一次) 错误返回:-1;(父进程中返回) 2.vfork()函数 #include pid_t vf...

2012-07-11 14:04:17

阅读数:2934

评论数:2

linux 信号signal

一.信号的分类: 1.kill–l //列举所以信号 2.不可忽略信号: SIGKILL,SIGSTOP。 二.信号的发送:kill()、raise()、 sigqueue()、alarm()、setitimer()以及abort() 1.  kill #include #include in...

2012-07-09 10:13:18

阅读数:1262

评论数:0

数据库范式(1NF 2NF 3NF BCNF)

来自:http://jacki6.iteye.com/blog/774866 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入( insert )、删除( delete )和更新( update )操作异常。反之则是乱七八糟,不仅给数据库...

2012-07-02 17:50:10

阅读数:543

评论数:0

getopt()函数用法

getopt() 函数原型:getopt() 函数,以及配合其使用的全局变量 #include int getopt(int argc, char * const argv[], const char*optstring); extern char *optarg; //选项的参数...

2012-05-16 10:49:50

阅读数:612

评论数:0

mq_open()函数的 attr 参数错误问题

man mq_open显示: mqd_t mq_open(const char *name, int oflag); mqd_t mq_open(const char *name, int oflag, mode_t mode,struct mq_attr *attr); 可见,该函数的...

2012-05-16 10:02:39

阅读数:4550

评论数:2

Linux errno 错误对照表

errno 在 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的  errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。 strerror() 函数依据 errno 值返回错误描述字符串,下面程序打印对...

2012-05-10 11:41:13

阅读数:124810

评论数:1

如何把mo3格式的文件转换成mp3格式

玩游戏“毛毛球”时里面有个很好听的音乐,但是mo3格式,我的PC上能播发它的只有快播(快播的播放功能还是很强大的啊),想把它转换成mp3等一般的音频格式,找了半天终于找到实现方式,方法源自http://www.un4seen.com/ 论坛。 首先说明mo3是什么格式:(来自百度百科) MO3...

2012-04-20 17:53:21

阅读数:4905

评论数:0

atoi函数实现

公司笔试喜欢让写这个函数,这里实现一下,欢迎指正: int my_atoi(const char *str) { assert(str != NULL); int flag = 1; int result = 0; while(*str == ' ' || *str == '\n' ||...

2012-04-18 17:12:58

阅读数:2111

评论数:4

strcpy函数的实现

大家一般认为名不见经传strcpy函数实现不是很难,流行的strcpy函数写法是: char *my_strcpy(char *dst,const char *src) { assert(dst != NULL); assert(src != NULL); char *ret = ds...

2012-04-15 23:23:32

阅读数:88466

评论数:29

Ackerman函数

维基百科:阿克曼函数 http://zh.wikipedia.org/wiki/%E9%98%BF%E5%85%8B%E6%9B%BC%E5%87%BD%E6%95%B8 阿克曼函数是非原始递归函数的例子;它需要两个自然数作为输入值,输出一个自然数。它的输出值增长速度非常高,仅是(4,...

2012-04-08 20:39:26

阅读数:12385

评论数:6

重建二叉树

二叉树的节点为: struct BiTNode { TElemType data; struct BiTNode *leftchild,*rightchild; }; 创建节点统一由Buynode() 函数完成: BiTNode * Buynode() { BiTNode ...

2012-03-13 09:42:45

阅读数:687

评论数:0

二分查找 字符串数组

一个有序的字符串数组ar,如字典序,找到其中值等于字符串v的元素的序号,如果有多个满足条件,则返回序号最大的。 #include using namespace std; int BinarySearch(char **ar,int begin,int end,char *v) {...

2012-03-01 10:27:10

阅读数:3866

评论数:1

字符串循环移位包含

给定两个字符串s1和s2,要求判定s2能否可以被s1循环移位得到的字符串包含。 #include using namespace std; bool fun(char *s1,char *s2) { int n=strlen(s1); int m=strlen(s2); for(in...

2012-02-28 20:03:39

阅读数:710

评论数:1

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