学习笔记
kimoli
十多年的软件开发经历,在应用程序,网络应用,图像处理,算法,手机应用有多项目经验。代码质量高。
展开
-
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 · 367 阅读 · 0 评论 -
进程
进程一个进程是一个正在执行的程序的实例。一个进程由如下元素组成:程序的上下文context,它是程序的当前执行的状态程序的当前目录,访问的文件,访问权限内存和其他分配级进程的系统资源。内核使用进程来控制对CPU和其它系统资源的访问。内核的调度负责在所有的进程间分配CPU执行时间,称为时间片time slice。进程有进程号 process ID, PID和它的父进程原创 2012-07-03 13:34:15 · 160 阅读 · 0 评论 -
目录
#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 · 122 阅读 · 0 评论 -
文件操作
文件描述符是很小的正数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。每个进程启动时都打开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 · 120 阅读 · 0 评论 -
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 · 308 阅读 · 0 评论 -
daemon守护进程
daemon守护进程守护进程是一个后台进程,不能够控制终端,所以任何输出,无论是向标准出错设备stderr还是向标准输出设备stdout的输出都需做特别处理。守护进程一般在系统启动时启动,它的父进程是init进程。创建守护进程1在父进程执行fork然后让父进程退出。2在子进程中使用setsid调用创建新的会话。3让根目录成为子进程的当前工作目录。4设置进程的umask为0。原创 2012-07-06 15:09:02 · 156 阅读 · 0 评论 -
开机流程
开机流程加载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 · 234 阅读 · 0 评论 -
diff - compare files line by line
diffdiff [options] filescompare files line by line.输出格式:normal: change_command >dstfile linechange_command: src行号(a|d|c)dst行号 a:append d: delete c: changeside-by-side: diff -y原创 2012-06-12 15:48:49 · 175 阅读 · 0 评论 -
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 · 197 阅读 · 0 评论 -
man - format and display the on-line manual pages
man(1)NAMEman - format and display the on-line manual pagesmanpath - determine user's search path for man pagesSYNOPSISman [-acdfFhkKtwW] [--path] [-m system] [-p string] [-C config_file原创 2012-06-11 10:46:57 · 191 阅读 · 0 评论 -
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 · 222 阅读 · 0 评论 -
输入输出
#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 · 130 阅读 · 0 评论 -
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 · 2831 阅读 · 0 评论 -
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 · 852 阅读 · 0 评论 -
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 · 339 阅读 · 0 评论 -
QDesktopWidget 获取桌面大小
QDesktopWidget通过QDesktopWidget可以获得显示屏幕的一些信息。比如 大小,有几个显示屏幕,每个显示的坐标等。静态函数 QApplication::desktop(),返回QDesktopWidget*, Desktop widget也叫root window成员函数screenGeometry()获取可用screen的坐标几何数值。screenCount(原创 2013-01-08 13:47:03 · 637 阅读 · 0 评论 -
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 · 393 阅读 · 0 评论 -
访问系统信息 /proc
/proC文件系统,可以通过读取它所包含的特殊文件来访问系统的状态信息,这些文件通常都是纯文本的,可以直接查看,也可以写入信息。man 5 proc/usr/src/linux/Documentation/proc.text/usr/src/linux/Documentation/sysctl每个在运行的用户级进程在/proc下都有一个目录,是以进程号的十进制数字为原创 2012-07-03 15:26:29 · 282 阅读 · 0 评论 -
线程
线程线程是在共享内存空间中并发的多道执行路径,它们共享一个进程的资源。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 · 177 阅读 · 0 评论 -
信号
信号信号是硬件中断的软件模拟,进程在执行是,几乎在任何时刻都会发生事件,这种不可预测性意味着信号是异步的。每个信号名都以SIG开头。对应于正整数,称为信号量signal number,定义在头文件中。当进程收到一个信号后,它可以对信号采取:忽略,捕获处理,允许执行信号的默认操作。发送信号使用kill命令或kill函数。捕获信号,每个进程都原创 2012-07-03 14:00:27 · 150 阅读 · 0 评论 -
passwd
passwd - update a user's authentication tokens改变用户口令大多数Linux系统都把口令保存在/etc/passwd文件中,实际上大多数系统实际的口令保存在隐蔽保密字文件/etc/shadow中。用户信息原创 2012-07-03 13:33:41 · 113 阅读 · 0 评论 -
tarball rpm
tarball rpmTarball文档,其实就是将套件的所有原始码档案先以TAR打包,然后再以压缩技术来压缩,通常最常见的就是以gzip来压缩了,因为利用了tar与gzip的功能,所以tarball文件一般的后缀名为.tar.gz或者简定.tgz,也就是说,Tarball套件解压缩之后,里面的文件通常就会有:原始程序代码文件,侦测程序文件(可能是confi原创 2012-07-10 10:53:45 · 231 阅读 · 0 评论 -
X Windows
X Windows基于一种客户机/服务器的思想,它将显示和事件处理功能从应用程序中分享出来。相反,一个客户端应用程序通过套接口接口和X服务器进行通信。客户机和服务器之间的通信通过一个称为Xlib的低层接口来执行。X Windows程序建立并显示一个窗口需要经过几个基本步骤。1首先需要打开一个到X服务器的连接,用API调用XOpenDisplay完成。2然后使用DefaultSc原创 2012-07-09 16:08:18 · 228 阅读 · 0 评论 -
GCC
GCC(1)gcc - GNU project C and C++ compilergcc [-c|-E] [-x language][-o outfile] infile...[-c] 编译或汇编源文件,但不作连接,编译器输出对应于源文件 的目标文件 缺省情况下,后缀名为".o"。[-o outfile] 指定输出文件。[-E] 只进行预处原创 2012-06-11 14:46:42 · 145 阅读 · 0 评论 -
file - determine file type of files
filedetermine file type of FILESfile [option]... [file]...-m, --magic-file LIST use LIST as a colon-separated list of magic number files.-z, --uncompress 查看压缩文件内部-b, --brief do not prepend f原创 2012-06-23 18:59:01 · 126 阅读 · 0 评论 -
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 · 192 阅读 · 0 评论 -
ar
arcreate, modify, and extract from archives.创建或修改archive文件,或从存档文件中提取。一个archive就是一个文件,结构化的包含其他文件。用来集合许多文件,成为单一的备存文件,在备存文件中,所有的成员文件都保有原来的属性与权限。用来操作高度结构化的存档文件,该命令最常用来创建静态库,也能创建和维护符号名的交叉索引表。ar [原创 2012-06-22 17:37:40 · 155 阅读 · 0 评论 -
进程间通信 - 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 · 656 阅读 · 0 评论 -
内存管理
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 · 153 阅读 · 0 评论 -
gdb
gdbthe GNU Debuggergdb [-help][program[core|procID]][program[core|procID]]:you can also start with both an executable program and a core file specified: gdb program coreyou can原创 2012-06-13 13:12:20 · 132 阅读 · 0 评论 -
Linux 滚屏与清屏
CTRL+L 清屏,命令clearSHIFT+PgUp / PgDn 滚屏原创 2012-06-11 09:54:25 · 483 阅读 · 0 评论 -
make
makeGNU make utility to maintain groups of programs自动化编译的工具,就是说在一个大的项目中,有很多文件,自动决定哪些要重新编译,及它们之间的依赖关系。make命令执行时,需要一个Makerfile的文件,告诉make命令需要怎么样的去编译和链接程序。target ...:preprequisites ...comman原创 2012-06-12 14:36:59 · 140 阅读 · 0 评论 -
ln
lnmake links between filesln [option]... target [link_name]ln [option]... target... directoryln [option]... --target-directory=DIRECTORY target创建链接,默认是创建硬链接,当--symbolic参数指定时创建软链接。-原创 2012-06-23 18:58:36 · 128 阅读 · 0 评论 -
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 · 151 阅读 · 0 评论 -
shell编程
bash通配符*?和集合运算符[set]和[!set]花括号展开式利用通配符查找文件名的一个更通用的方法。[前导字符串]{字符串1[,{字符串2[,...]}]}[后继字符串]每个花括弧中的字符串将与前导字符串后后继字符串匹配。特殊字符> 输出重定向( 子shell开始) 了shell结束| 管道\ 引用(转换)下面的字符& 在后原创 2012-07-09 16:07:33 · 174 阅读 · 0 评论 -
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 · 150 阅读 · 0 评论 -
驱动程序的类型
驱动程序的类型静态链接的内核设备驱动程序,直接编译和链接在内核中,静态链接的模块,一旦编译进入了内核,就始终附加在内核上,直到重新编译内核为止。可加载内核模块loadable kernel modules, LKM能够被加载和卸载而不必重新链接内核,而且最重要的是,不需要重新启动你的计算机,这就能让你动态地配置系统。共享库,在有些情况下,驱动程序可以作为一个共享库来实现,但如果驱动程序原创 2012-07-09 16:08:41 · 307 阅读 · 0 评论 -
终端接口 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 · 319 阅读 · 0 评论 -
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 · 177 阅读 · 0 评论 -
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 · 308 阅读 · 0 评论