Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
大型C程序GUI的实现方法_C_User Interface_Portability - Fatal编程技术网

大型C程序GUI的实现方法

大型C程序GUI的实现方法,c,user-interface,portability,C,User Interface,Portability,在我们的生物信息学实验室,我们最近被要求为用C编写(并优化)的程序创建一个GUI。我们设计的任何GUI都需要能够向C程序提供输入和接收输出,同时还可以方便地移植到Windows和Mac。有什么方法可以做到这一点?如果您正在寻找一个在windows/mac上使用C的GUI工具包,您是否考虑过?您可以用Java编写前端GUI,并让它们为您的C程序提供输入和输出。我在这里认识几个小组,他们对C#和C代码做了类似的工作(但他们没有多平台限制) 通过这种方式,您不必使用C工具包创建GUI。根据程序的性质,

在我们的生物信息学实验室,我们最近被要求为用C编写(并优化)的程序创建一个GUI。我们设计的任何GUI都需要能够向C程序提供输入和接收输出,同时还可以方便地移植到Windows和Mac。有什么方法可以做到这一点?

如果您正在寻找一个在windows/mac上使用C的GUI工具包,您是否考虑过?

您可以用Java编写前端GUI,并让它们为您的C程序提供输入和输出。我在这里认识几个小组,他们对C#和C代码做了类似的工作(但他们没有多平台限制)


通过这种方式,您不必使用C工具包创建GUI。

根据程序的性质,您可以创建一个完全独立的GUI应用程序(使用您喜欢的任何语言),并从中派生/执行现有程序,将其stdin和stdout重定向到GUI程序。根据现有程序的工作方式,这可能工作得很好,也可能非常麻烦

<>你也可以用GUI(GC-K)之类的程序来扩展现有程序,或者你可以使用Qt(C++),但是如果你把C函数定义为“Extn”C“”,通常不存在C++调用C函数的问题。 当有人已经拥有并将让你免费使用它时,为什么还要努力工作呢?顺便说一句,我更喜欢我自己


<>编辑:它的意思是使用C++,但它将与C代码完美地结合。

< P>有许多脚本语言可以使这一点变得容易。我会选择tcl/tk,它在mac上的工作方式几乎是开箱即用的,并且几乎可以跨任何机器跨平台工作

GTK也是很棒的,很多脚本语言都有它的绑定


如果不需要的话,您可能不想用c编写gui。使用快速开发脚本语言。

使用单独的程序

它不会破坏现有的代码——如果代码具有程序员可能不知道/理解/测试的生物知识,这一点尤其重要

Gui经常会发生变化,几年后您将为NewSuperOStolkit(tm)重写Gui,但底层工作代码不会改变。我们有大气建模代码,我相信它最初是用拉丁语写的


您可以保留在云中的MPI上以批处理方式并行运行引擎代码的能力,以及一系列您没有想到的其他方式。

如果您想要一个本机GUI,那么使用wxWidgets或QT。(我使用wxWidgets…)

另一种方法是使用Javascript和CSS创建基于HTML的界面。完全避免使用GUI库,获得跨平台支持,结果在某些方面更好,在其他方面更糟


如果你真的想要一个独立的用户界面,你可以将它集成到一个类似WebKit的二进制文件中。

+1。从GUI调用的另一个进程或至少一个链接库。你不想责怪每个人都使用一台旧计算机,因为这是唯一一台能够运行GUI工具包(语言)的计算机,而在你发布GUI的那天,它已经过时了。C编译器将在可预见的未来出现。