- 博客(69)
- 资源 (2)
- 收藏
- 关注
原创 托盘图标的示例 C# notification area
C#中关于托盘的用法很方便。只要加入一个NotifyIcon,然后指定一个图标Icon,再处理一下事件就可以了。 components = new System.ComponentModel.Container(); menuitemExit = new MenuItem(); menuitemExit.Index = 0; menuitemExit.Text
2013-06-28 16:37:45
505
原创 Qt线程同步操作用QWaitCondition QMutex
可以看到Qt提供了一个等待事件发生的类QWaitCondition,当条件满足时可以唤醒其它等待的线程。 写一个类可以在线程间实现同步功能#ifndef THREADEVENT_H#define THREADEVENT_H#include #include class ThreadEvent{public: ThreadEvent(const ch
2013-06-19 13:56:34
1094
原创 boost::noncopyable
libs/utility/utility.htm#Class_noncopyable #include noncopyable类阻止派生类拷贝构造和赋值构造。就是把拷贝构造函数和赋值构造函数,置于保护。当一个类定义时,如果不指定,那会有默认的拷贝和赋值构造函数,这种默认函数在某些操作时会产生严重的后果。直接指定这些复制操作,可以减少语义错误。noncopyable的实现就是把
2013-03-04 16:54:20
761
原创 DXUT编译
DXUT是Directx提供的highlevel的工具,它封装了对d3d的调用,可以简化程序。具体的看帮助文档完全可以搞定,但dxut需要自己编译一下,静态库。帮助文档里写要运行demo程序,然后指定什么路径之类的。完全不需要。找到安装路径C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++。会发现DXUT和D
2013-01-11 14:12:39
390
原创 QTableView几个用法
QTableView http://qt-project.org/doc/qt-4.8/qtableview.htmlviewM = new QTableView(this);viewM->setModel(model); //设置model to see:http://qt-project.org/doc/qt-4.8/model-view-programming.html vi
2013-01-08 13:49:35
2855
原创 qRegisterMetaType 注册数据类型
int qRegisterMetaType(const char* typeName)qRegisterMetaType("MyClass");通过注册之后,可以在run-time动态创建对象了。对于自定义的类型,想要在消息机制应用,就是说要用signal/slot传递,那一定要用此函数注册,否则无法创建消息参数对象。http://qt-project.org/doc/qt-4.8/q
2013-01-08 13:48:54
874
原创 QTimer 定时器
提供定时器,而且还有一种只执行一次的定时。连接timeout()信号,然后调用start().QTimer *timer = new QTimer(this);connect(timer,SIGNAL(timeout()),this,SLOT(handleTimeout()));timer->start(1000); // 1 second.创建一个一次的定时,QTimer
2013-01-08 13:48:16
357
原创 QDesktopWidget 获取桌面大小
QDesktopWidget通过QDesktopWidget可以获得显示屏幕的一些信息。比如 大小,有几个显示屏幕,每个显示的坐标等。静态函数 QApplication::desktop(),返回QDesktopWidget*, Desktop widget也叫root window成员函数screenGeometry()获取可用screen的坐标几何数值。screenCount(
2013-01-08 13:47:03
665
原创 Qt, qmake
refers to: http://qt-project.org/doc/qt-4.8/qmake-tutorial.htmlqmake是Qt的编译工具,可以针对不同的平台和不同的语言。qmake基本一个项目文件(.pro)生成Makefile。qmake自动包含moc和uic工具。moc:Meta-Object Compiler是一个工具,用来处理Qt中的C++扩展部分。Qt的类会包
2012-12-27 13:33:04
1634
原创 Qt编译
Qt 可以直接在网站下载安装版的,但只有32bit的。如果想用64位的,那就要自己编译。http://qt-project.org/downloads4.8.4版的。refer to : http://blog.youkuaiyun.com/vbskj/article/details/7792163把\mkspecs\win32-msvc2010\qmake.conf文件中的 QMAKE_
2012-12-27 13:11:33
360
Qt 学习笔记 Qt的
Qt 可以直接在网站下载安装版的,但只有32bit的。如果想用64位的,那就要自己编译。http://qt-project.org/downloads4.8.4版的。refer to : http://blog.youkuaiyun.com/vbskj/article/details/7792163把\mkspecs\win32-msvc2010\qmake.conf文件中的 QMAKE_
2012-12-27 13:08:34
248
转载 VC2010对Excel的操作
http://wenku.baidu.com/view/d7383548767f5acfa1c7cd30.html
2012-07-25 09:49:44
803
原创 ifconfig - configure a network interface
ifconfig - configure a network interface设定网络参数ifconfig [interface]ifconfig interface [aftype] options | address ...ifconfig [-a] [-i] [-v] [-s] [[] ][add [/]][del [/]][[-]broadcast
2012-07-20 15:11:32
421
原创 开机流程
开机流程加载BIOS的硬件信息,BIOS自检读取MBR的kernel loader,(lilo, grub, spfdisk) Boot Loader加载内核 通常内核在/boot下,通常名字为/boot/vmlinux-xxxx的格式。kernel执行init程序并取得run-level信息内核加载之后,执行的第一个程序就是/sbin/init,它会读取/etc/inittab
2012-07-11 14:23:56
259
原创 ps - report process status
ps - report process statussimple selection-A all processes-N negate selection-a all w/ tty except session leaders-d all except session leaders-e all processesT all processes on this term
2012-07-11 10:01:36
218
原创 tarball rpm
tarball rpmTarball文档,其实就是将套件的所有原始码档案先以TAR打包,然后再以压缩技术来压缩,通常最常见的就是以gzip来压缩了,因为利用了tar与gzip的功能,所以tarball文件一般的后缀名为.tar.gz或者简定.tgz,也就是说,Tarball套件解压缩之后,里面的文件通常就会有:原始程序代码文件,侦测程序文件(可能是confi
2012-07-10 10:53:45
248
原创 strings - print the strings of printable characters in files
strings - print the strings of printable characters in filesstrings[option] [files]Display printable strings in file(s) (stdin by default)-a,-, --all 在整个文件中查找,不仅仅是data section-f, --print-f
2012-07-09 16:19:11
168
原创 驱动程序的类型
驱动程序的类型静态链接的内核设备驱动程序,直接编译和链接在内核中,静态链接的模块,一旦编译进入了内核,就始终附加在内核上,直到重新编译内核为止。可加载内核模块loadable kernel modules, LKM能够被加载和卸载而不必重新链接内核,而且最重要的是,不需要重新启动你的计算机,这就能让你动态地配置系统。共享库,在有些情况下,驱动程序可以作为一个共享库来实现,但如果驱动程序
2012-07-09 16:08:41
353
原创 X Windows
X Windows基于一种客户机/服务器的思想,它将显示和事件处理功能从应用程序中分享出来。相反,一个客户端应用程序通过套接口接口和X服务器进行通信。客户机和服务器之间的通信通过一个称为Xlib的低层接口来执行。X Windows程序建立并显示一个窗口需要经过几个基本步骤。1首先需要打开一个到X服务器的连接,用API调用XOpenDisplay完成。2然后使用DefaultSc
2012-07-09 16:08:18
261
原创 终端接口 tty
终端接口POSIX.1定义了一个查询和操纵终端的标准接口,termios#include struct termios{tcflag_t c_iflag;tcflag_t c_oflag;tcflag_t c_cflag;tcflag_t c_lflag;cc_t c_line;cc_t c_cc[NCCS];speed_t c_ispeed;spe
2012-07-09 16:07:56
341
原创 shell编程
bash通配符*?和集合运算符[set]和[!set]花括号展开式利用通配符查找文件名的一个更通用的方法。[前导字符串]{字符串1[,{字符串2[,...]}]}[后继字符串]每个花括弧中的字符串将与前导字符串后后继字符串匹配。特殊字符> 输出重定向( 子shell开始) 了shell结束| 管道\ 引用(转换)下面的字符& 在后
2012-07-09 16:07:33
189
原创 daemon守护进程
daemon守护进程守护进程是一个后台进程,不能够控制终端,所以任何输出,无论是向标准出错设备stderr还是向标准输出设备stdout的输出都需做特别处理。守护进程一般在系统启动时启动,它的父进程是init进程。创建守护进程1在父进程执行fork然后让父进程退出。2在子进程中使用setsid调用创建新的会话。3让根目录成为子进程的当前工作目录。4设置进程的umask为0。
2012-07-06 15:09:02
178
原创 进程间通信 - interprocess communication, IPC
进程间通信interprocess communication, IPC管道,无名管道和有名管道,它们是和内存中的一个索引点相关联的两个文件描述符。创建管道#include int pipe(int filedes[2]);FIFOint mkfifo(const char *pathname, mode_t mode);共享内存创建共享
2012-07-05 15:50:38
685
原创 内存管理
C语言用malloc, calloc, realloc和free函数提供了对动态内存分配的支持。函数分配没有被初始化过的内存块。#include void *malloc(size_t size);分配并初始化内存块void *calloc(size_t nmemb, size_t size);改变以前分配的内存块的大小void *realloc(void *p
2012-07-05 15:00:05
167
原创 访问系统信息 /proc
/proC文件系统,可以通过读取它所包含的特殊文件来访问系统的状态信息,这些文件通常都是纯文本的,可以直接查看,也可以写入信息。man 5 proc/usr/src/linux/Documentation/proc.text/usr/src/linux/Documentation/sysctl每个在运行的用户级进程在/proc下都有一个目录,是以进程号的十进制数字为
2012-07-03 15:26:29
295
原创 线程
线程线程是在共享内存空间中并发的多道执行路径,它们共享一个进程的资源。clone和fork一样,可以生成一个子进程,但可以指定哪些进程资源是共享的。#include int clone(int (*fn)(void*),void *child_stack,int flags, void *arg);clone主要是为了实现Linux的pthread库。pth
2012-07-03 14:44:41
191
原创 信号
信号信号是硬件中断的软件模拟,进程在执行是,几乎在任何时刻都会发生事件,这种不可预测性意味着信号是异步的。每个信号名都以SIG开头。对应于正整数,称为信号量signal number,定义在头文件中。当进程收到一个信号后,它可以对信号采取:忽略,捕获处理,允许执行信号的默认操作。发送信号使用kill命令或kill函数。捕获信号,每个进程都
2012-07-03 14:00:27
164
原创 进程
进程一个进程是一个正在执行的程序的实例。一个进程由如下元素组成:程序的上下文context,它是程序的当前执行的状态程序的当前目录,访问的文件,访问权限内存和其他分配级进程的系统资源。内核使用进程来控制对CPU和其它系统资源的访问。内核的调度负责在所有的进程间分配CPU执行时间,称为时间片time slice。进程有进程号 process ID, PID和它的父进程
2012-07-03 13:34:15
177
原创 passwd
passwd - update a user's authentication tokens改变用户口令大多数Linux系统都把口令保存在/etc/passwd文件中,实际上大多数系统实际的口令保存在隐蔽保密字文件/etc/shadow中。用户信息
2012-07-03 13:33:41
128
原创 输入输出
#include int printf(const char* format,...);int fprintf(FILE *stream, const char *format,...);int sprintf(char *str, const char *format,...);int snprintf(char *str,size_t size, const char
2012-07-02 13:14:11
143
原创 目录
#include 当前目录char* getcwd(char*buf, size_t size);改变当前目录int chdir(const char *path);int fchdir(int fd);#include 创建目录int mkdir(const char* pathname,mode_t mode);删除目录int rmdir(con
2012-07-02 13:04:55
140
原创 mknod - make block or character special files.
mknod - make block or character special files.创建特殊文件。只能由root用户或系统组成员运行。建立一个目录项和一个特殊文件的对应索引点。mknod [option]... name type [major minor]-m, --mode=MODEset permission mode (ad in chmod
2012-07-02 09:47:37
233
原创 select - synchronous I/O multiplexing
select同步I/O多路复用。多路转接 multiplexing。#include #include #include #include int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);int pse
2012-07-02 09:40:47
321
原创 文件操作
文件描述符是很小的正数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。每个进程启动时都打开3个文件:标准输入,标准输出,标准出错,stdin stdout stderr。对应的文件描述符是0,1,2。OPEN(2) System callsopen, creat - open and possibly create a file or device
2012-06-26 14:44:58
133
原创 ctime - transform data and time to broken-down time or ASCII
CTIME(3)ctime - transform data and time to broken-down time or ASCII#include char *asctime(const struct tm *tm);char *asctime_r(const struct tm *tm, char *buf);char *ctime(const
2012-06-26 14:44:25
188
原创 perror - print a system error message
PERROR(3) Library functionsperror - print a system error message#include void perror(const char *s);#include const char *sys_errlist[];int sys_nerr;perro向标准出错输出一条字符串。
2012-06-24 14:40:12
159
原创 system - execute a shell command
SYSTEM(3)system - execute a shell command#include int system(const char *string);执行shell命令。通过调用/bin/sh -c string,执行命令然后返回。在执行命令中,SIGCHLD阻塞,SIGINT SIGQUIT被忽略。返回命令的状态,或者-1表示出错。
2012-06-24 14:12:39
207
原创 umask - set file creation mask - linux programmer's manual
Linux Programmer's Manualumask (2)set file creation mask#include #include mode_t umask(mode_t mask);设置umask值为mask&0777。其实就是指定要去掉哪些权限。比如umask的值为022就是指去掉group和other的写权限(2),那么创建的文件权限就
2012-06-24 14:11:45
323
原创 chmod - change the mode of each file to mode
chmodChange the mode of each FILE to MODE.chmod [option]... MODE[,MODE]... FILE...chmod [option]... OCTAL-MODE file...chmod [option]... --reference=RFILE file-c, --changes like verbose但只
2012-06-24 14:09:50
206
原创 touch - change file timestamps
TOUCH(1)touch - change file timestampstouch [option]... FILE...以当前时间更新文件的访问和修改时间。-a 只改变访问时间-c, --no-create 不创建任何文件-d, --date=STRING 指定当前时间-m 只改变修改时间。-r, --reference=FILE 用文件的时间
2012-06-24 14:08:34
163
C++ GUI PROGRAMMING WITH QT4
2008-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人