如何实现在Windows上运行Linux程序,附示例代码?

如何实现在Windows上运行Linux程序,附示例代码?,第1张

在Windows中安装Cgwin或minGW软件即可实现linux中程序到Windows中移植。

Cygwin是许多自由软件的集合,最初由CygnusSolutions开发,用于各种版本的MicrosoftWindows上,运行UNIX类系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。Cygwin移植工作在WindowsNT、Windows2000、WindowsXP以及WindowsServer2003上比较好.

MinGW的库,可以跟Windows本地的MSVCRT库(WindowsAPI)一起工作。MinGW占用内存、硬盘空间都比较少,能够链接到任意软件,但它对POSIX规范的实现没有Cygwin库完备。

先确保你的c程序没有调用win下专有的api,比如win32api或.net等,

如果有,就需要另写接口层。最好能只调用posix库或跨平台的库,或完全原创的算法库。

c程序满足和win专有接口能脱离直接关系,就能在linux下编译。

Windows默认的编码是gb2312,而Linux是UTF8;

多数情况下,把Linux上的程序转换至Windows上运行需要进行编码转换才能正常显示;

而其实大可以不必的,同样,文件使用的依然是UTF-8,同样可以在Windows上跑起来,不过有一些事件还需要做的:

1. 在main.cpp中添加一段内容:

#include "QTextCodec"

int main(int argc, char *argv[])

{

...

   QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"))

   QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"))

   QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"))

...

}

2. 在使用QString时,需要使用Qstring str = QString::fromUtf8("content")

3. 之后,程序就可以正确的显示中文了~.~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7995778.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存