- 博客(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 476
原创 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 1010
原创 boost::noncopyable
libs/utility/utility.htm#Class_noncopyable #include noncopyable类阻止派生类拷贝构造和赋值构造。 就是把拷贝构造函数和赋值构造函数,置于保护。当一个类定义时,如果不指定,那会有默认的拷贝和赋值构造函数,这种默认函数在某些操作时会产生严重的后果。直接指定这些复制操作,可以减少语义错误。noncopyable的实现就是把
2013-03-04 16:54:20 698
原创 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 358
原创 QTableView几个用法
QTableView http://qt-project.org/doc/qt-4.8/qtableview.html viewM = 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 2817
原创 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 838
原创 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 329
原创 QDesktopWidget 获取桌面大小
QDesktopWidget 通过QDesktopWidget可以获得显示屏幕的一些信息。比如 大小,有几个显示屏幕,每个显示的坐标等。 静态函数 QApplication::desktop(),返回QDesktopWidget*, Desktop widget也叫root window 成员函数screenGeometry()获取可用screen的坐标几何数值。screenCount(
2013-01-08 13:47:03 621
原创 Qt, qmake
refers to: http://qt-project.org/doc/qt-4.8/qmake-tutorial.html qmake是Qt的编译工具,可以针对不同的平台和不同的语言。qmake基本一个项目文件(.pro)生成Makefile。 qmake自动包含moc和uic工具。 moc:Meta-Object Compiler是一个工具,用来处理Qt中的C++扩展部分。Qt的类会包
2012-12-27 13:33:04 1593
原创 Qt编译
Qt 可以直接在网站下载安装版的,但只有32bit的。如果想用64位的,那就要自己编译。 http://qt-project.org/downloads 4.8.4版的。 refer to : http://blog.csdn.net/vbskj/article/details/7792163 把\mkspecs\win32-msvc2010\qmake.conf文件中的 QMAKE_
2012-12-27 13:11:33 325
Qt 学习笔记 Qt的
Qt 可以直接在网站下载安装版的,但只有32bit的。如果想用64位的,那就要自己编译。 http://qt-project.org/downloads 4.8.4版的。 refer to : http://blog.csdn.net/vbskj/article/details/7792163 把\mkspecs\win32-msvc2010\qmake.conf文件中的 QMAKE_
2012-12-27 13:08:34 217
转载 VC2010对Excel的操作
http://wenku.baidu.com/view/d7383548767f5acfa1c7cd30.html
2012-07-25 09:49:44 755
原创 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 357
原创 开机流程
开机流程 加载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 224
原创 ps - report process status
ps - report process status simple selection -A all processes -N negate selection -a all w/ tty except session leaders -d all except session leaders -e all processes T all processes on this term
2012-07-11 10:01:36 188
原创 tarball rpm
tarball rpm Tarball文档,其实就是将套件的所有原始码档案先以TAR打包,然后再以压缩技术来压缩,通常 最常见的就是以gzip来压缩了,因为利用了tar与gzip的功能,所以tarball文件一般的后缀名 为.tar.gz或者简定.tgz,也就是说,Tarball套件解压缩之后,里面的文件通常就会有:原始程 序代码文件,侦测程序文件(可能是confi
2012-07-10 10:53:45 220
原创 strings - print the strings of printable characters in files
strings - print the strings of printable characters in files strings[option] [files] Display printable strings in file(s) (stdin by default) -a,-, --all 在整个文件中查找,不仅仅是data section -f, --print-f
2012-07-09 16:19:11 139
原创 驱动程序的类型
驱动程序的类型 静态链接的内核设备驱动程序,直接编译和链接在内核中,静态链接的模块,一旦编译进入了内核,就始终附加在内核上,直到重新编译内核为止。 可加载内核模块loadable kernel modules, LKM能够被加载和卸载而不必重新链接内核,而且最重要的是,不需要重新启动你的计算机,这就能让你动态地配置系统。 共享库,在有些情况下,驱动程序可以作为一个共享库来实现,但如果驱动程序
2012-07-09 16:08:41 287
原创 X Windows
X Windows基于一种客户机/服务器的思想,它将显示和事件处理功能从应用程序中分享出来。相反,一个客户端应用程序通过套接口接口和X服务器进行通信。客户机和服务器之间的通信通过一个称为Xlib的低层接口来执行。 X Windows程序建立并显示一个窗口需要经过几个基本步骤。 1首先需要打开一个到X服务器的连接,用API调用XOpenDisplay完成。 2然后使用DefaultSc
2012-07-09 16:08:18 216
原创 终端接口 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 307
原创 shell编程
bash 通配符*?和集合运算符[set]和[!set] 花括号展开式 利用通配符查找文件名的一个更通用的方法。 [前导字符串]{字符串1[,{字符串2[,...]}]}[后继字符串] 每个花括弧中的字符串将与前导字符串后后继字符串匹配。 特殊字符 > 输出重定向 ( 子shell开始 ) 了shell结束 | 管道 \ 引用(转换)下面的字符 & 在后
2012-07-09 16:07:33 162
原创 daemon守护进程
daemon守护进程 守护进程是一个后台进程,不能够控制终端,所以任何输出,无论是向标准出错设备stderr还是向标准输出设备stdout的输出都需做特别处理。守护进程一般在系统启动时启动,它的父进程是init进程。 创建守护进程 1在父进程执行fork然后让父进程退出。 2在子进程中使用setsid调用创建新的会话。 3让根目录成为子进程的当前工作目录。 4设置进程的umask为0。
2012-07-06 15:09:02 147
原创 进程间通信 - interprocess communication, IPC
进程间通信 interprocess communication, IPC 管道,无名管道和有名管道,它们是和内存中的一个索引点相关联的两个文件描述符。 创建管道 #include int pipe(int filedes[2]); FIFO int mkfifo(const char *pathname, mode_t mode); 共享内存 创建共享
2012-07-05 15:50:38 643
原创 内存管理
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 144
原创 访问系统信息 /proc
/proC文件系统,可以通过读取它所包含的特殊文件来访问系统的状态信息,这些文件通常都是纯文本的,可以直接查看,也可以写入信息。 man 5 proc /usr/src/linux/Documentation/proc.text /usr/src/linux/Documentation/sysctl 每个在运行的用户级进程在/proc下都有一个目录,是以进程号的十进制数字为
2012-07-03 15:26:29 270
原创 线程
线程 线程是在共享内存空间中并发的多道执行路径,它们共享一个进程的资源。 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 168
原创 信号
信号 信号是硬件中断的软件模拟,进程在执行是,几乎在任何时刻都会发生事件,这种不可预测性意 味着信号是异步的。每个信号名都以SIG开头。对应于正整数,称为信号量signal number,定义 在头文件中。 当进程收到一个信号后,它可以对信号采取:忽略,捕获处理,允许执行信号的默认操作。 发送信号 使用kill命令或kill函数。 捕获信号,每个进程都
2012-07-03 14:00:27 142
原创 进程
进程 一个进程是一个正在执行的程序的实例。一个进程由如下元素组成: 程序的上下文context,它是程序的当前执行的状态 程序的当前目录,访问的文件,访问权限 内存和其他分配级进程的系统资源。 内核使用进程来控制对CPU和其它系统资源的访问。内核的调度负责在所有的进程间分配CPU执行时间,称为时间片time slice。 进程有进程号 process ID, PID和它的父进程
2012-07-03 13:34:15 135
原创 passwd
passwd - update a user's authentication tokens 改变用户口令 大多数Linux系统都把口令保存在/etc/passwd文件中,实际上大多数系统实际的口令保存在隐蔽保密字文件/etc/shadow中。 用户信息
2012-07-03 13:33:41 105
原创 输入输出
#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 120
原创 目录
#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 115
原创 mknod - make block or character special files.
mknod - make block or character special files. 创建特殊文件。只能由root用户或系统组成员运行。建立一个目录项和一个特殊文件的对应索引点。 mknod [option]... name type [major minor] -m, --mode=MODE set permission mode (ad in chmod
2012-07-02 09:47:37 211
原创 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 298
原创 文件操作
文件描述符是很小的正数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。每个进程启动时都打开3个文件:标准输入,标准输出,标准出错,stdin stdout stderr。对应的文件描述符是0,1,2。 OPEN(2) System calls open, creat - open and possibly create a file or device
2012-06-26 14:44:58 114
原创 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 164
原创 perror - print a system error message
PERROR(3) Library functions perror - 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 136
原创 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 182
原创 umask - set file creation mask - linux programmer's manual
Linux Programmer's Manual umask (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 299
原创 chmod - change the mode of each file to mode
chmod Change 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 180
原创 touch - change file timestamps
TOUCH(1) touch - change file timestamps touch [option]... FILE... 以当前时间更新文件的访问和修改时间。 -a 只改变访问时间 -c, --no-create 不创建任何文件 -d, --date=STRING 指定当前时间 -m 只改变修改时间。 -r, --reference=FILE 用文件的时间
2012-06-24 14:08:34 136
C++ GUI PROGRAMMING WITH QT4
2008-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人