- 博客(26)
- 资源 (2)
- 收藏
- 关注
原创 Python 的自增运算反映了Python变量的原理
>>> b = 5 >>> a = 5 >>> id(a) 162334512 >>> id(b) 162334512 >>> a is b True python 中,变量是以内容为基准而不是以变量名为基准,所以只要数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问;
2014-02-25 11:20:02 4234
原创 QDialog 添加最大化和最小化按钮
QDialog默认只有“这是什么”以及“关闭按钮”;可以通过设置flag的方式添加最大最小化按钮,方法如下:Qt::WindowFlags flags=Qt::Dialog;flags |=Qt::WindowMinimizeButtonHint;flags |=Qt::WindowMaximizeButtonHint;setWindowFlags(flags);
2013-12-19 19:02:43 5060
转载 优先级反转
1. 优先级反转(Priority Inversion) 由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃。这就是所谓的优先级反转(Priority Inversion)。2. 产生原因 其实,优先级反转是在高优级(假设为A)的任务要访问一个被低优先级任务(假设为C)占有的资源时,被阻塞.而此时又
2013-12-09 15:27:19 689
转载 Qt的Event Filter
event filter是什么?EventFilter即所谓事件过滤器, 在Qt中是一个比较重要的概念, 它的功能是把所有事件在到达watchee(被监控者)之前全部传递给另一个watcher(监控者), 由watcher先行处理并决定是否继续传递该事件, 如果继续传递, 则事件将回传给watchee来处理。 可能很多人已经知道怎么用event filter处理事件了, 不过你也别嫌本文太简单
2013-07-12 17:45:05 1076
原创 feof()函数和EOF结束符的区别与联系
windows下的txt文本文件中的内容都是ASCⅡ代码值的形式存放的。众所周知,ASCII 码的范围是在0至255.对于其他范围的值是无法识别的,因此像-1这样的值是不能转化成相应的字符存在于文本文件当中的。但是对于二进制文件来说,-1确实是可以出现的。feof()函数在c/c++中是用来判断当前要操作的文件是否结尾,如果文件已结尾,返回值为1,否则就返回0.它判断文件是否结尾的原理是与数据
2013-05-24 13:38:55 3482 1
转载 ANSI编码和Unicode编码的不同
ANSI编码最常见的应用就是在Windows当中的记事本程序中,当新建一个记事本,默认的保存编码格式就是ANSI,ANSI应该算是一种压缩编码了,当遇到标准的ASCII字符时,采用单字节表示,当遇到非标准的ASCII字符(如中文)时,采用双字节表示。Unicode编码标准已在近年来的多种新科技当中被加以采用,包含了可扩展置标语言(XML)、Java程序语言、以及最新的操作系统中
2013-05-23 16:27:35 764
转载 ASCII,Unicode和UTF-8 区别与联系
Unicode: unicode.org制定的编码机制, 要将全世界常用文字都函括进去.在1.0中是16位编码, 由U+0000到U+FFFF. 每个2byte码对应一个字符; 在2.0开始抛弃了16位限制, 原来的16位作为基本位平面, 另外增加了16个位平面, 相当于20位编码, 编码范围0到0x10FFFF.UCS: ISO制定的ISO10646标准所定义的 Un
2013-03-12 19:13:13 709
转载 QT tr()函数详解
用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包)(2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 注意,如果你正在用tr包裹中
2012-12-13 18:40:26 19161 3
转载 Perl 数组应用详解(push, pop, shift, unshift)
Perl的数组操作有四大常用函数:push:从数组的末尾加入元素。pop :从数组的末尾取出元素shift: 从数组的开头取出元素unshift:从数组的开头加入元素1、push#!/usr/bin/perluse strict;use warnings;my @array = ();for ( my $i = 1 ; $i push @ar
2012-11-22 17:51:34 43153
转载 Perl中的数组操作
数组的长度:如果把数组变量赋值给标量变量,那么赋给标量变量的就是数组的长度: $a = @Array;#标量变量$a中存放的是数组@Array的长度,即:数组中元素的个数; ($a,$b,$c) = (1,2,3); #则把1赋值给$a,把2赋值给$b,把3赋值给$c; 数组中的最后一个元素的下标索引由数组的特殊变量$#ArrayName决定;用“$#+数
2012-11-05 16:40:16 5902
转载 指针返回值和指针参数
一、使用指针做函数返回值:1、当使用指针做为函数的返回值时,主函数处的char *p;将获得调用函数char *pf;的值,即一个地址值,如oxAE72。此时需要我们注意的是该地址值所指向的空间是否存在(即已向操作系统声明注册,不会被释放,即可能被其他操作修改);2、使用栈内存返回指针是明显错误的,因为栈内存将在调用结束后自动释放,从而主函数使用该地址空间将很危险。 例如:
2012-09-06 18:16:15 1816
转载 回调函数与指针
声明函数指针回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。要实现回调,必须首先定义函数指针。尽管定义的语法有点不可思议,但如果你熟悉函数声明的一般方法,便会发现函数指针的声明与函数声明非常类似。请看下面的例子:void f();// 函数原型上面的语句声明了一个函数,没有输入参数并返回void。那么函数指针的声明方法如下:void (*) ()
2012-08-15 15:09:25 477
转载 Perl中our,my,local的区别与联系
our,"把名字限于某个范围“,其实就是明确声明一个"全局变量",虽然是在某个模块或者函数里面定义的,外面的也可以访问,如果已经声明过了,再次用"our",表示此处用的是全局的那个,不是同名的私有或者局部变量 our $PROGRAM_NAME = "waiter";{ my $PROGRAM_NAME = "something";our $PROGRAM
2012-05-04 15:37:20 1098
转载 集线器-交换机-路由器 三者区别
集线器-------集线器也叫Hub,工作在物理层(最底层),没有相匹配的软件系统,是纯硬件设备。集线器主要用来连接计算机等网络终端。集线器为共享式带宽,连接在集线器上的任何一个设备发送数据时,其他所有设备必须等待,此设备享有全部带宽,通讯完毕,再由其他设备使用带宽。正因此,集线器连接了一个冲突域的网络。所有设备相互交替使用,就好象大家一起过一根独木桥一样。集线器不能判断数据包的目
2012-04-25 16:21:55 902
转载 Semaphore和Mutex -- Linux下的互斥机制分析
关于Mutex:Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。关于Semaphore:Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一
2011-11-11 17:28:14 818
转载 解析大端模式和小端模式 --3
嵌入式系统开发者应该对Little-endian和Big-endian模式非常了解。例如,16bit宽的数0x1234在Little-endian模式CPU内存中的存放方式(假设从地址0x4000开始存放)为:内存地址0x40000x4001存放内容0x340x12而在Big-end
2011-06-21 09:52:00 640
转载 解析大端模式和小端模式--2
写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1: 解答: int checkCPU( ){ { union w { int a; char
2011-06-21 09:50:00 592
转载 解析大端模式和小端模式 --1
一、概念及详解在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式。先回顾两个关键词,MSB和LSB:MSB:Most Significant Bit ------- 最高有效位LSB:Least Significant Bit ------- 最低有效位大端模式(big-edian)big-endi
2011-06-21 09:47:00 793
原创 待机与休眠
待机与休眠均是Windows ACPI(高级计算机电源接口)当中的一个功能,它们的目的均是为了当机器在不使用时,将部份功能停止工作,如CPU、电源风扇、显示器等,从而实现省电的目的。另外,它与机器完全关机不同,当系统从这些状态恢复时,它能迅速地返回到原先进入该状态之前的操作界面,从而避免了冗长的Windows启动过程。
2010-12-23 10:08:00 1048
转载 进程的阻塞和挂起的区别
理解一:挂起是一种主动行为,因此恢复也应该要主动完成,而阻塞则是一种被动行为,是在等待事件或资源时任务的表现,你不知道他什么时候被阻塞(pend),也就不能确切的知道他什么时候恢复阻塞。而且挂起队列在操作系统里可以看成一个,而阻塞队列则是不同的事件或资源(如信号量)就有自己的队列。 理解二:阻塞(pend)就是任务释放CPU,其他任务可以运行,一般在等待某种资源或信号量的时候出现。挂起
2010-12-10 11:35:00 1525
转载 Linux wc命令详解
wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法:wc [选项] 文件… 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。 该命令各选项含义如下: - c 统计字节数。 - l 统计行数。 - w 统计字数。
2010-12-02 11:35:00 605
转载 解析IP地址与MAC地址
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数 08:00:20代表网络硬件制造商的编号,它由IEEE(Istitute of Electrical and Electronics Engineers,电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该
2010-10-24 16:44:00 966
转载 c++类的实例化后占内存的大小计算
首先:我们要知道什么是类的实例化,所谓类的实例化就是在内存中分配一块地址.一个例子:#includeclass a {};class b{};class c:public a{virtual void fun()=0;};class d:public b,public c{};int main(){coutcoutcoutcoutretu
2010-10-03 20:20:00 804
转载 C和C++中的static
C: static在c里面可以用来修饰变量,也可以用来修饰函数。 先看用来修饰变量的时候。变量在c里面可分为存在全局数据区、栈和堆里。其实我们平时所说的堆栈是栈而不包含堆,不要弄混。 int a ; main() { int b ; int c* = (int *)malloc(sizeof(int));
2010-08-20 10:00:00 736
Hunter_本地文件批量操作
2014-06-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人