- 博客(27)
- 资源 (37)
- 收藏
- 关注
原创 STL之union _Obj详解
#include #include using namespace std; union obj{ union obj *free_list_link;//指向后面的链表 char clent_data[1]; //obj对象o的地址&o和o.clent_data相等}; int main() { obj o; printf("%x\n",&o)
2017-05-19 17:29:58
234
原创 c/c++基本类型sizeof:short,unsigned short,int,unsigned int,long,unsigned long,long long,unsigned long lon
类型字节表 X86X86_64shortsigned shortshort intsigned short int22unsigned short unsigned sho
2017-01-10 12:30:27
3342
原创 不插网线时host(xp)不能桥接guest(ubuntu at VMware)解决方案
安装虚拟机VMware并添加Bridge网卡:设置VMware虚拟交换机所桥接的host主机网卡(此处选择本地连接所对应的物理网卡):将host主机和guest主机中的两张网卡的IP配置在同一网段。理论上这样就可以通信了。但如果host主机(xp)的物理网卡(即本地连接)没有插网线,那么host主机(xp)和guest主机(ubuntu at VMware)是不能通
2013-06-25 22:46:07
1262
原创 linux 串口工具 minicom 安装及配置
1.minicom源码安装源码包下载地址: http://alioth.debian.org/projects/minicom/安装源码包: # tar zxf minicom-2.2.tar.gz # cd minicom-2.2 # ./configure # make # make install2.minicom配置
2013-06-19 14:54:42
1235
原创 c++ explicit 关键字
explicit关键字只能用在类内部的构造函数声明。以限制单参数的构造函数进行隐式转换。多参数的构造函数不能进行隐式转换。在c++中,当函数传参时,编译器被允许隐式转换。言外之意即编译器可以使用形参的单参数构造函数将实参数隐士转化为形参对象。例如:class Foo{public: // single parameter constructor, can be used
2013-04-13 23:44:36
650
原创 Qt 学习笔记 - QSignalMapper
QSignalMappervoid QSignalMapper::setMapping ( QObject * sender, int id )添加一个信号/槽映射关系,当QSignalMapper的槽map ()被sender的信号激活时(前提是sender的信号已经连接到QSignalMapper的map()槽),QSignalMapper就会以id作为参数产生信号mapped (
2013-04-12 14:32:44
734
原创 Qt 学习笔记 - QString::number
函数原型如下:QString QString::number ( long n, int base = 10 ) [static]主要作用是将n转化为字符串。参数base表示将n转化为字符串时,是以多少进制为参照的。默认情况下是以十进制为参照进行转化的。base范围必须在2 - 32之间,否则n将被当做无符号数。eg:long a = 63;QString x =
2013-03-28 22:48:21
2855
原创 Qt 学习笔记 - QGridLayout::addWidget
QGridLayout::addWidget是一个重载函数,有一下两种形式:形式一:void QGridLayout::addWidget ( QWidget * widget, int row, int column, Qt::Alignment alignment = 0 )形式二:void QGridLayout::addWidget ( QWidget * widg
2013-03-28 22:35:59
3884
1
原创 Linux Kernel Source - 进程双向循环链表
哈希表的主要作用是根据进程的pid可以快速地找到对应的进程,但它没有反映进程创建的顺序,也无法反映进程之间的亲属关系,因此引入进程双向循环链表。union task_union { struct task_struct task; unsigned long stack[INIT_TASK_SIZE/sizeof(long)];};#define init_ta
2013-03-07 15:51:03
857
原创 Linux Kernel Source - 进程哈希表浅析
哈希表实际上是一个struct task_struct * 的指针数组,即每个元素指向一组pid的进程描述符链表(此处一组不是指gid相同,而是pid满足如下第三行的宏定义,且相同)。在Linux 2.4内核中定义如下:#define PIDHASH_SZ (4096 >> 2)extern struct task_struct *pidhash[PIDHASH_SZ]; /
2013-03-07 11:42:58
929
原创 Linux Kernel Source - current 宏
今天在Linux 2.4源码sched.c中看到以下代码:void sleep_on(wait_queue_head_t *q){ SLEEP_ON_VAR current->state = TASK_UNINTERRUPTIBLE; SLEEP_ON_HEAD schedule(); SLEEP_ON_TAIL}sleep_on函数的主要作用是设置当前进程的状态为TASK_
2013-03-06 16:23:42
1012
原创 C语言中#if #ifdef #if defined的区别
1.#if#if EXPRESSION CODE...#endif如果EXPRESSION为真则执行CODE,EXPRESSION是在编译时求值的。2.#ifdef#ifdef IDENTIFIER CODE...#endif 只要宏IDENTIFIER已经被#define,则执行CODE。3.#if defined#
2013-03-06 14:03:32
773
原创 Linux Kernel Source - __FILE__ __LINE__ 妙用
在Linux 2.4内核代码wait.h,看到如下定义 #define WQ_BUG() BUG()其中BUG()是在page.h中定义的,定义如下: #define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0;
2013-03-05 22:18:29
935
原创 linux cmds - ldconfig
ldconfig命令的大概作用是读取指定文件夹里的所有库文件,并根据库文件中包含的库文件名为其创建软链接文件。用法一:读取目录directory下的所有/etc/ld.so.conf,根据其中包含的运行时链接的库文件名,为其创建软连接sudo ldconfig directory例如,在学习《unix环境高级编程》第七章getrlimit和setrlimit函数时,编译器代码get
2013-02-28 11:34:53
2906
原创 typedef 的个人理解- 类型别名
今天在学习Glibc2.17中的API setjmp和longjmp查看了一下其源码:Bsd-setjmp.c:int setjmp (jmp_buf env){ return __sigsetjmp (env, 1);}Setjmp.h:/* Calling environment, plus possibly a saved signal mask. */
2013-02-27 11:35:40
101
原创 typedef 的个人理解- 类型别名
今天在学习Glibc2.17中的API setjmp和longjmp查看了一下其源码:Bsd-setjmp.c:int setjmp (jmp_buf env){ return __sigsetjmp (env, 1);}
2013-02-27 11:33:25
65
原创 typedef 的个人理解- 类型别名
今天在学习glibc的API setjmp和longjmp查看了一下其源码:Bsd-setjmp.cint setjmp (jmp_buf env){ return __sigsetjmp (env, 1);}
2013-02-27 11:31:06
71
转载 linux 和 unix的区别(Difference Between Linux and UNIX)
Difference Between Linux and UNIXWhat is the difference between Linux and UNIX operating systems?UNIX is copyrighted name only big companies are allowed to use the UNIX copyright and name, so IB
2013-02-21 21:15:32
96
原创 [gcc]make: warning: Clock skew detected. Your build may be incomplete.
在Linux下编译代码提示:make: warning: Clock skew detected. Your build may be incompletedate命令查看当前系统时间date -s 5/18/2011 命令可以修改系统日期date -s 16:10:59命令可以修改系统时间总之保证系统时间与文件修改时间迟或新,那么上面的编译警告就不存在了。
2013-01-14 16:27:12
83
原创 ubuntu安装vlc
1.ubuntu命令行安装(推荐)# sudo add-apt-repository ppa:lucid-bleed/ppa# sudo apt-get update# sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc2.ubuntu安装管理器安装点击 System -> Administration ->
2013-01-09 15:43:01
596
原创 使用InnoSetup5创建Qt应用软件包setup.exe
1.安装Inno Setup Compiler,其官方网站http://www.jrsoftware.org/2.编译Qt版俄罗斯方块qstetrix,并将其依赖库文件放在同一文件件下3.创建Qt应用软件包setup.exestep1:打开Inno Setup Compiler,新建文件step2:点击nextstep3:
2013-01-06 18:32:13
593
原创 使用7-zip创建自解压可执行文件
7-Zip 官方中文主页http://sparanoid.com/lab/7z/Step1: 打开 7Zip File managerStep2: 添加需要自解压的文件Step3: 设置压缩方式,最重要一步要选中create SFX archiveStep4: 设置其他需要的选项Step5: 点击ok等
2013-01-06 13:03:31
1488
原创 c++成员函数的内存分配及this指针浅析
首先看下面一段小代码:test.cpp#include using namespace std;class Object{public: int x; int y; void display() { x = 10; y = 20; cout << x << ", "<< y <<endl
2012-12-28 15:50:52
640
原创 Windows XP & Linux(ubuntu10.04)双系统硬盘安装
1.解压grub4dos 复制 grldr menu.lst grldr.mbr grub.exe 到C盘2.解压ubuntu-12.10-desktop-i386.iso 复制casper文件夹下面的vmlinuz和initrd.lz到C盘 复制.disk到C盘3.修改menu.lst文件,在文件末尾添加以下内容 title I
2012-12-24 14:54:08
533
原创 Linux下获取网卡IP,Netmask,Mac地址(gcc编译通过)
Linux下获取网卡IP,Netmask,Mac地址(gcc编译通过)#include #include #include #include #include int GetIP(const char *ifname, unsigned char *ip){ int sock, ret; struct ifreq ifr; sock = socket
2012-11-20 20:47:14
1074
Puttytabmanager 0.50.0.138
2019-06-01
vim_runtime.tar.gz
2013-12-30
Advanced Programming In The UNIX Environment, 2nd Edition (2005).chm
2013-02-26
abs-guide-latest.tar.bz2
2013-02-07
虚拟机(linux)和开发板网卡通信.pdf
2012-12-18
TCP-IP详解[1.2.3卷].rar
2012-12-12
VMware Tools Install
2012-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人