关于C#:使便携式代码

关于C#:使便携式代码

Making portable code

由于对开源项目大惊小怪,为什么还没有一个强大的标准可以使您编写可移植的代码(我的意思是在C/C++中不是JavaC#)
每个人都是自己做汤。
甚至还有一些第三方库,例如Apache Portable Runtime


是的,没有标准,但是当您进行跨平台开发时,像Qt和boost这样的库可以使您的生活变得更加轻松。


wxwidgets是大多数窗口管理器的本机GUI小部件上的出色抽象层。


作为语言的

C和C是标准语言。如果您在编码时严格遵守他们的规则(这意味着不使用供应商特定的扩展名),那么您的代码应该是可移植的,并且应该能够在任何OS上使用任何现代编译器进行编译。

但是C和C没有像Java或C#这样的GUI库,但是存在一些免费的或商业的GUI库,可让您编写可移植的GUI应用程序。

我认为最受欢迎的是Qt(商业)和wxWidgets(FOSS)。根据维基百科,还有更多。

也有增强功能,而没有GUI库增强功能则是对C \\ STL的真正补充。实际上,某些增强库将在下一个C标准中添加。


自适应通信环境(ACE)是一个出色的面向对象框架,可为所有低级OS功能(例如线程,套接字,互斥体等)提供跨平台支持。它可与大量的编译器和操作系统一起运行。


有许多库本身可以简化跨平台开发,但是为所有平台提供完整的package最终要么是小型且高度定制化的,要么是大型且完全荒谬的。

按照其逻辑结论,针对操作系统各个方面的完整package将成为整个虚拟运行时。您也可以编写自己的编程语言。


我认为,没有任何一个图书馆可以与任何人达成共识的主要原因是每个人的需求都不相同。当您要package系统库时,经常需要对用例进行一些假设,除非您想使package器庞大且无法使用。我认为这可能是没有单个通用跨平台运行时的主要原因。

对于GUI,原因是每个平台都有其自己的UI约定,您不能编写一个适合所有用户的GUI,而只是得到一个只适合一个甚至根本不适合的GUI。 >


如果您确定它可以与GCC和MS VC一起干净地编译,那么将其移植到其他地方将花费很少的精力。


推荐阅读

    程式编辑快捷键|代码编辑快捷键

    程式编辑快捷键|代码编辑快捷键,,1. 代码编辑快捷键Option Explicit ‘强制对模块内所有变量进行声明(2) Option Base 1 ‘指定数组的第一

    vivo网络设置代码|vivo功能代码

    vivo网络设置代码|vivo功能代码,,1. vivo功能代码代码是*#558#1.首先在手机桌面里找到电话。2.在拨号键盘里输入*#558#3.这时候就进入了手

    确定java按钮响应事件的代码

    确定java按钮响应事件的代码,,* 阅读本文可以结合最后在java登录窗口界面下面是一个链接。 是定义的容器。 容器(CP =得到内容面板); / /

    excel窗口快捷键|excel代码窗口快捷键

    excel窗口快捷键|excel代码窗口快捷键,,excel代码窗口快捷键首先是新建并打开Excel表格,萊垍頭條按快捷键“Ctrl”+“F10”,可把窗口切换,再

    乐视股票代码

    乐视股票代码,股票,股票代码,乐视股票代码股票代码其实很容易理解,每一串代码代表的就是一只股票,用“平安银行”来举例说明吧,它的代码就是0

    asp中文图片验证码的实现代码

    asp中文图片验证码的实现代码,,这个代码是在别人的增加对汉字的基础功能,谢谢你,谢谢轻烟。 以前的图片验证代码很容易破解,所以在目前的基础

    计算机主板故障调试代码

    计算机主板故障调试代码,,核心提示:故障代码含义查找表的调试代码查找表来读:(注1),特殊代码00和FF等起始码有三种情况:一系列其他代码:00或FF,好

    乐视股票代码

    乐视股票代码,股票,股票代码,乐视股票代码股票代码其实很容易理解,每一串代码代表的就是一只股票,用“平安银行”来举例说明吧,它的代码就是0