首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将windows应用程序移植到linux上

将windows应用程序移植到linux上
EN

Stack Overflow用户
提问于 2012-05-20 23:05:48
回答 5查看 4.9K关注 0票数 0

我有一个应用程序,我需要移植到Linux上。我在考虑使用Free Pascal,问题是应用程序使用Windows API来执行串口通信等任务。是否有针对linux用户的msdn或一本介绍linux内部工作原理的书(如果有apis )。

我很困惑。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-05-21 04:54:27

Robert乐福有一本关于Linux系统编程的书--这本书将涵盖这一领域,而乐福的书一般都很好,所以它值得一读。

从你的问题中还不能完全清楚,但如果你担心的是Windows应用程序中对硬件控制函数的特定调用使得移植变得困难,我认为这是一种错误的担忧。Windows和Linux都遵循这样的原则,即应用层程序员应该远离硬件,所有这些都应该由操作系统内核处理,并且只能由应用程序通过系统调用来访问。由于不同操作系统的内核面临着来自用户/应用程序的相似需求,它们往往具有执行相同类型事情的系统调用。有必要将系统调用相互匹配,但我看不出为什么这是不可能的。

更麻烦的是,您的Windows应用程序可能严重依赖于Windows执行者的窗口代码/API。同样,为你的代码找到类似的东西并不是不可能的,但可能会更复杂一些,例如在Linux中,这些东西通常根本不会在内核中处理(不像Windows)。

但话又说回来,你的代码可能是针对像Qt这样的可移植工具包/库编写的,这将使事情变得更容易。

无论如何,祝你好运。

票数 4
EN

Stack Overflow用户

发布于 2012-05-20 23:16:38

好吧,很遗憾地说,如果你的代码依赖于Windows(不依赖于VCL )那么,从一开始就编写应用程序可能会比移植它更快。

但是如果只是串行端口的问题,那么可以尝试多平台SynaSer库,可以在这里找到它:http://synapse.ararat.cz

希望这能对您有所帮助:)

票数 5
EN

Stack Overflow用户

发布于 2013-02-19 22:58:22

如果程序包含GUI代码,则必须使用GTK/XLIB等linux库来创建窗口、表单、按钮等。

特定于Windows的函数(如EnterCriticalSection、WaitForSingleObject或_beginthreadex)必须替换为等效的linux api函数(可以在此处找到一个很好的教程:"www.ibm.com/developerworks/systems/library/es-MigratingWin32toLinux.html"),也可以使用库,如w2lplwine

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10674577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档