将程序从windows移植到linux(信号量和事件)

关于复杂的多线程和多进程应用程序的映射指南
随着开发人员将一些普及的 Windows® 应用程序迁移到 Linux™ 平台,企业中正在进行的向开放源码迁移的浪潮有可能引发极大的移植问题。这个由三部分组成的系列文章提供了一个映射指南,并附有一些例子,以简化从 Windows 到 Linux 的转移。本文是系列文章的第 2 部分,将介绍两种同步对象类型:信号量和事件。

- 阅读剩余部分 -

qt翻译国际化

一、简单一个例子,比如下面代码,使用tr()来控制需要翻译的代码
void MainWindow::on_Test_clicked()
{

QString a = tr("Do a test.");
qDebug() << a;
Dialog * aa = new Dialog();
aa->show();

}
二、对tr里面的内容进行翻译和发布
1、使用lupdate命令和lrelease命令进行转化
2、使用QT Creator进行可视化操作
update.jpg
如果使用第二种办法的话还需要更改.pro文件,增加以下代码
TRANSLATIONS = zh_cn.ts
对生成的ts文件进行修改,内容是xml格式的,文本编辑器进行更改就可以,确认无误后就把translation里面的type标签去掉,然后就可以进行发布。
三、进行发布
修改main.cpp,大概结构如下,有两个需要注意的地方
int main(int argc, char *argv[])
{

QApplication a(argc, argv);

QTranslator tsor;           //创建翻译器
/*
 * 加载语言包,注意:
 * a.如果是在IDE中调试的话就要把qm文件放到Makefie的同级目录
 * b.如果是直接运行exe文件的话就要把qm文件放到exe的同级目录
 */
bool ret = tsor.load("zh_cn.qm");
qDebug() << ret;
a.installTranslator(&tsor); //安装翻译器

MainWindow w;
w.show();

return a.exec();

}

rhel 7使用unbound部署ddns

1、首先第一步安装,我这里已经安装过了
[root@colourstek wangmin]# yum install unbound
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Package unbound-1.4.20-26.el7.x86_64 already installed and latest version
Nothing to do
[root@colourstek wangmin]# systemctl restart unbound //启动DNS服务
[root@colourstek wangmin]# systemctl enable unbound //开机自动启动DNS服务
ln -s ‘/usr/lib/systemd/system/unbound.service‘ ‘/etc/systemd/system/multi-user.target.wants/unbound.service‘

2、修改配置文件
unbound安装好之后,默认配置文件地址为/etc/unbound/unbound.conf
贴上我的配置文件,加粗部分为我的修改
dns1.jpg
dns2.jpg
dns3.jpg
dns4.jpg
dns5.jpg
dns6.jpg
dns7.jpg
dns8.jpg
3、验证
[root@colourstek wangmin]# unbound-checkconf
[1476341835] unbound-checkconf[176447:0] warning: root hints /etc/unbound/root.hints: no NS content
unbound-checkconf: no errors in /etc/unbound/unbound.conf

4、重启unbound服务,如果防火墙是开的最好关掉
[root@colourstek wangmin]# systemctl restart unbound

Linux下的scp命令用法详解

常用用法举例:

1、复制远程服务器的文件到本地:
scp root@120.18.50.33:/data/a.gz /home/
2、复制远程服务器的目录到本地:
scp -vrp root@120.18.50.33:/data/a/ /home/
3、复制本地的文件到远程服务器:
scp /home/a.gz root@120.18.50.33:/data/
4、复制本地的目录到远程服务器:
scp -vrp /home/ root@120.18.50.33:/data/

SCP 命令语法






- 阅读剩余部分 -