QT下跨平台库实现及移植经验分享

   最近在移植公司一个QT桌面软件到android上,有一些公司自定义的库,用了很多windows的api,移植过程很是曲折,在此有一些感悟分享一下~

一.自编写跨平台库

1.有时候为了程序给第三方用需要编译一些qt封装库,并可能跨平台使用,比如会在windows桌面系统、linux系统及android系统使用,所以在开始写的时候最好不要用windows本身的api,不然跨平台移植的时候全部要更换,非常麻烦;

比如下面这些文件的接口:

#include <direct.h>

#include<winsock2.h>

#include<windows.h>

2.尽量要用POSIX标准c或者标准c++接口,如POSIX线程(pthreads),网络接口,尽量用纯c语言编写,这样方便跨平台移植;

  POSIX标准,全称为“可移植操作系统接口”(Portable Operating System Interface),是由IEEE计算机学会制定的一系列标准,旨在提高不同操作系统之间的兼容性。

许多操作系统,包括Unix、Linux以及某些版本的Microsoft Windows,都支持POSIX标准。

3.下面举一个简单的sleep函数例子,如果用POSIX标准c的sleep函数,在windows和android都可以用,不用修改,在qt也是一样:

(1)代码:

include "mainwindow.h"

#include "ui_mainwindow.h"

#include <unistd.h>

#include <QDebug>

#include <QDateTime>

#define SleepKK(x) usleep(x*1000)   //微秒

#define SleepSS(x) sleep(x)

MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

    , ui(new Ui::MainWindow)

{

    ui->setupUi(this);

    qDebug()<<"time print:";

    qDebug() << "Current_date_and_time  start:   " << QDateTime::currentDateTime();

    SleepSS(1);

    qDebug() << "Current_date_and_time  start_1: " << QDateTime::currentDateTime();

    SleepSS(10);

    qDebug() << "Current_date_and_time  start_2: " << QDateTime::currentDateTime();

    SleepKK(5000);

    qDebug() << "Current_date_and_time  start_3: " << QDateTime::currentDateTime();

}

(2)结果:

二.QT延时五种实现方法

QT下是没有直接可用的延时sleep函数的,但有时候后需要延时,所以需要自己定义一个延时函数,方法有多种,具体见之前文章《QT延时五种实现方法》:

https://blog.csdn.net/xieliru/article/details/135435815?spm=1001.2014.3001.5502

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Qt 平台 OPC UA 的意思是使用 Qt 软件开发工具来实现 OPC UA 技术,以便在不同平台上运行。OPC UA 是一种用于工业自动化系统的通信协议,它允许不同设备和系统之间进行数据交换和通信。 Qt 是一种平台的软件开发框架,可以用于创建图形界面和应用程序。通过使用 Qt 来开发 OPC UA 应用程序,可以实现在不同操作系统上的一致性和可移植性。 Qt 提供了许多用于开发 OPC UA 应用程序的功能和工具。它包括用于创建各种控件、窗口和对话框的,以及用于处理 OPC UA 协议和通信的类和函数。Qt 还提供了易于使用的 API 和文档,使开发人员可以轻松地创建和管理 OPC UA 服务器和客户端。 Qt 平台 OPC UA 的主要优点是它可以在多种操作系统上运行,包括 Windows、Linux 和 macOS 等。这样,开发人员可以编写一次代码,然后在不同的平台上进行编译和部署,从而节省了时间和资源。 Qt 平台 OPC UA 还具有良好的可扩展性和可定制性。开发人员可以根据自己的需求自定义和修改 Qt 的功能和外观。此外,Qt 还支持多国语言和国际化,使得开发的应用程序可以很容易地适应不同地区和语言环境。 总之,Qt 平台 OPC UA 是一种利用 Qt 开发框架来实现 OPC UA 技术的解决方案。通过使用 Qt,开发人员可以方便地创建平台的 OPC UA 应用程序,并在不同的操作系统上实现一致性和可移植性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI+程序员在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值