1 #include <QString>
2 #include <QByteArray>
3 #include <QCryptographicHash>
4 #include <QFile>
5 #include <QDebug>
6
7 QByteArray getFileMd5(QString filePath)
8 {
9 QFile localFile(filePath);
10
11 if (!localFile.open(QFile::ReadOnly))
12 {
13 qDebug() << "file open error.";
14 return 0;
15 }
16
17 QCryptographicHash ch(QCryptographicHash::Md5);
18
19 quint64 totalBytes = 0;
20 quint64 bytesWritten = 0;
21 quint64 bytesToWrite = 0;
22 quint64 loadSize = 1024 * 4;
23 QByteArray buf;
24
25 totalBytes = localFile.size();
26 bytesToWrite = totalBytes;
27
28 while (1)
29 {
30 if(bytesToWrite > 0)
31 {
32 buf = localFile.read(qMin(bytesToWrite, loadSize));
33 ch.addData(buf);
34 bytesWritten += buf.length();
35 bytesToWrite -= buf.length();
36 buf.resize(0);
37 }
38 else
39 {
40 break;
41 }
42
43 if(bytesWritten == totalBytes)
44 {
45 break;
46 }
47 }
48
49 localFile.close();
50 QByteArray md5 = ch.result();
51 return md5;
52 }

 

posted @ 2012-03-28 17:31 it_mac 阅读(65) 评论(0) 编辑

- 查看系统信息

# cat /proc/version                     查看系统内核版本
#
cat /proc/devices 查看系统加载模块


- 系统文件

/boot/grub/grub.conf                  grub配置文件
/etc/xinet.d/tftp tftp配置文件(tftpboot:默认路径;disable:是否使能)
/var/log/messages 系统日志文件(粤嵌开发板)

 

 

posted @ 2012-02-08 21:34 it_mac 阅读(23) 评论(0) 编辑

- 关于本博文的几点说明:
以下内容基本上都是本人在实际工作中总结的,其中:
1. 带“?”或者“/?...?/”之间的内容是本人总结的,但不太肯定。
2. 带“!”或者“/!...!/”之间的内容源自网络,且未经本人测试确认。
==============================================================


- 实用技巧

Tab键                        自动补齐

输入指令或部分文件名后按下Tab键能够自动补齐。若输入的部分正确且按下Tab键后无任何反应,则说明有一个以上文件明或指令前面部分与已输入的部分相同。此时连续按下Tab键2次,则会列出所有可能的文件或指令。

# cd -                       在最后打开的两个目录间切换
!^                             从上一条命令获得第一项参数
!$                             从上一条指令获得最后一项参数
----------------------------------------------------------------------

- 常用指令

# du -sh *                                               查看 文件/目录 占用磁盘空间信息

# chmod [ugo][+-][rwx] obj_name               设置对象权限

# usermod -l new_user_name old_user_name  更改用户名(需要root权限)

    注意:修改 /etc/passwd 文件也能达到同样的效果。

# ln [option] source_file dest_file
    -s 建立软连接
    -f 建立时,将同档案名删除
    -i 删除前进行询问
注意:应用绝对路径来建立连接,避免出现“符号连接层数过多”的错误。

- 查看系统进程占用内存情况
# top -d 1                                                process

    注意:按下 Shift + M 将按占用内存大小排序。
# free [-m]                                               summary
# cat /proc/meminfo                                   detail

# ntsysv                                                  启动服务配置程序
# service service_name status                     查看服务状态
# service service_name start                       启动服务
# service service_name stop                        停止服务
# service service_name restart                     重启服务

# hwclock                                                查看RTC时间
# hwclock –w                                           将系统时间设置为RTC时间
# hwclock –s                                            将RTC时间设置为系统时间

 

posted @ 2012-02-08 21:15 it_mac 阅读(36) 评论(0) 编辑

- 预处理指令

#   空指令,无任何效果。
#include   包含一个源代码文件。
#define   定义宏。
#undef   取消已定义的宏。
#if   如果给定条件为真,则编译下面代码。
#ifdef   如果宏已经定义,则编译下面代码。
#ifndef   如果宏没有定义,则编译下面代码。
#elif   如果前面的#if 给定条件不为真,当前条件为真,则编译下面代码。
#endif   结束一个 #if……#else 条件编译块。
#error   指令将使编译器显示一条错误信息,然后停止编译。
#line   指令可以改变编译器用来指出警告和错误信息的文件号和行号。
#pragma   指令没有正式的定义。编译器可以自定义其用途。
典型的用法是禁止或允许某些烦人的警告信息。

 

- 相关资料(详细介绍及示例)

http://www.kuqin.com/language/20090806/66164.html

 

posted @ 2012-02-07 23:26 it_mac 阅读(35) 评论(0) 编辑

- 关于本博文的几点说明:

以下内容基本上都是本人在实际工作中总结的,其中:
1. 带“?”或者“/?...?/”之间的内容是本人总结的,但不太肯定。
2. 带“!”或者“/!...!/”之间的内容源自网络,且未经本人测试确认。

==============================================================

 

- 经验总结

1. 在拷贝虚拟机系统到其他PC使用之前,强烈建议先建立快照。

2. “暂停”状态下建立快照比直接建立快照更省时省空间。

3. 当虚拟机的硬件配置发生变化时,MAC地址也会随之改变。

 

- 虚拟机系统上网设置

VMware Workstation网络设置:NAT
虚拟机系统网络设置:自动DHCP(Linux)/自动获取(Windows)

注意:设置完成后先断开网络,再重新连接。

 

- 更新已装系统的虚拟机硬件配置步骤

1. 删除 /etc/udev/rules.d/70-persistent-net.rules。
    说明:若不删除上述文件会导致网络设备混乱,对系统产生以下影响:

    a. 执行下述指令时,系统会提示“设备不存在”;

    # service network restart
    or
    # ifconfig eth0 up
    ...
    b. 使用ifconfig指令查看网络参数时,原来的eth0会被eth1替代。

2. 关闭虚拟机系统。

3. 修改虚拟机硬件配置,查看新的MAC地址。

4. 启动虚拟机,配置虚拟机网络参数(修改MAC地址)。

 

- 查看虚拟机MAC地址

Virtual Machine Setting -> Network Adapter -> Advanced...

 ----------------------------------------------------------------------

 

- 常见错误及其解决办法

1. 把虚拟机系统拷贝到其他PC下使用,升级VMware Tools后可能出现虚拟机启动后无法进入系统的情况,错误提示如下:

No root device found.
Boot has failed, sleeping forever.

PS:创建虚拟系统的VMware版本为7.1.2,迁移后的VMware版本为8.0.1,升级VMware Tools后重启系统即出现上述情况。未升级VMware Tools前,Host系统与虚拟机系统之间的共享正常。因此可以不升级VMware Tools以避免出现上述情况。

解决方法:暂无有效方法,必须利用VMware的快照功能把系统还原至之前的状态。因此,在迁移虚拟机系统前建立一个系统快照是十分有必要的(见经验总结1)。

 

posted @ 2012-02-07 22:57 it_mac 阅读(109) 评论(0) 编辑