GuiLite 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GuiLite 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
GuiLite 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
GuiLite 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
GuiLite 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

GuiLite是4千行的图形界面库,可以运行在所有平台(例如:iOS/macOS/WathOS,Android,Linux(ARM/x86-64),Windows(包含VR),Docker和MCU)上;也可以与多种语言(例如: Swift, Java, Javascript, C#, Golang)协同工作。

  • 轻量: 4千行C++代码,可合并在:1个头文件(GuiLite.h),1个实现文件(GuiLite.cpp)中 - 轻松编译/移植
  • 超快: 一次调用就可以完成图形渲染,与操作系统及第三方库无关 - 程序更快速,UI更流畅
  • 可注入: 可注入在Qt/MFC/Winform/Cocoa/Web程序中运行 - 充分利用现有Qt/MFC代码,局部GuiLite优化,亦可显著提升效率
  • 最低硬件要求:
Processor Disk/ROM space Memory
24 MHZ 29 KB 9 KB

相比QT、MFC,GuiLite不预设开发者的使用场景,不在具体功能上,大包大揽;用框架的简洁,换取开发的自由;GuiLite在图形绘制上面,力图一步到位,运行效率感人。

卓越的跨平台能力

在Apple Watch下的运行效果:

  

在单片机上的运行效果:

  

cross-platform

出色的界面及3D效果

unicode

万国语(unicode)

 unicode

自我监控

上报编译/运行情况至云端:

BuildInfo

同步本地数据至云端:

DataOnCloud

为什么开发GuiLite?如何使用?

任何UI框架都不是为你我而生的,只有掌握核心原理,对其深度定制,才能真正掌握自己的命运!因此,我们开发了GuiLite,希望用这4千行代码揭示UI的核心原理和定制方法。

我们不推荐开发者全盘使用GuiLite;鼓励开发者在吃透代码后,根据自身业务特点,修改出更加丰富、个性的界面;或者发展出适合自己的UI框架。

为了聚焦UI核心原理,GuiLite会一直保持单片机的代码体量。

为什么GuiLite是最简单,易学的GUI库?

  • 代码量最少--只有4千行
  • 只使用C++基本特性(类和虚函数),不涉及复杂语法
  • 图形绘制以描点为基础,不使用任何算法
  • 设计简单,仅包括:界面元素管理和渲染
  • 配备了比较完善的文档,及学习方法指南
  • 配备了一系列的百行小demo,解析使用方法

视频链接:

GuiLite简介

3D GuiLite

MCU + GuiLite

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (52)

加载中
这个LOGO是向P站致敬吧?
2020/11/12 14:48
回复
举报
啊这?
2020/11/12 15:53
回复
举报
GuiHub PuiLite ......
03/31 13:01
回复
举报
有意思
2020/11/03 13:01
回复
举报
你这个LOGO就有点意思了
2020/11/03 09:15
回复
举报
其他的我不管,但麻烦你解释一下logo到底是几个意思?
2020/05/14 21:06
回复
举报
所见即它的意思,没错 porn hub
02/01 14:32
回复
举报
内部技术原理是什么,看几个例子和OpenGL很像?
2020/04/10 08:03
回复
举报
idea4good软件作者
如果跟opengl相似,那真是天大的巧合了。原理都是GUI的基础原理,具体可以参看代码和文档
2020/11/01 21:37
回复
举报
您好,请问这是什么原理?是自己写图形驱动吗?
2020/04/07 10:28
回复
举报
idea4good软件作者
图形驱动都是自己写的,原理都是GUI的基础原理,可以参看代码和文档
2020/11/01 21:36
回复
举报
真心挺厉害的,下过来学习一下。
2020/04/07 10:20
回复
举报
认真的问一下,从0开始学c++,到使用这个软件要多久?只有js基础
2019/10/23 10:31
回复
举报
idea4good软件作者
可能需要花1个月时间,了解一下class,virtual function的使用方法
2019/10/26 16:58
回复
举报
一個月搞不定C++吧 😓
2019/10/26 17:44
回复
举报
我一个星期就用C++开发外挂赚钱养家了
2020/05/16 09:08
回复
举报
銀手鐲舒服嘛
2020/05/16 09:39
回复
举报
不知道作者有沒有考慮寫Rust版本,這個語言有望替代C++
2020/05/16 10:30
回复
举报
c/c++在一些领域的位置是很稳的.
03/31 13:00
回复
举报
單片機? 也不是沒可能吧
03/31 13:27
回复
举报
idea4good软件作者
学完完整的C++肯定是不行,但只了解一些基础知识是可以的。GuiLite只用到了C++非常基础的部分;比如用类和虚函数来组织代码,从而达到用最小的代码量来实现UI功能
2019/10/27 16:45
回复
举报
学任何语言都只需要21天。没有21天学不会的。网上有书。
2019/12/18 10:21
回复
举报
首先现在就开始学习,然后在学会C++以后开始研究时光机,等研究出时光机后穿梭到你开始学习C++以后的第21天,把那时的自己毙了,然后你就达成了21天学会C++的目标了。
2020/04/07 11:47
回复
举报
大概21天,深入浅出
2020/05/12 09:06
回复
举报
有机会学习下
2019/09/19 15:21
回复
举报
请问可以移植到单色液晶上吗?我们是做电力自动化装置的。都是蓝底白字,或者黄底白字的工业液晶。
2019/09/06 08:00
回复
举报
idea4good软件作者
可以的,方式跟移植单片机的方法一样,注意在显示驱动的时候把RGB准换为单色就好
2019/10/23 10:06
回复
举报
单色液晶屏推荐用MonoGUI,还支持汉字输入法
2019/11/11 20:30
回复
举报
确实
2020/09/02 11:30
回复
举报
更多评论
发表了资讯
03/31 10:31

GuiLite 3.7 发布:被劝退的同学,回家吧;字体,不用做了

问题:你被GuiLite劝退的主要原因? 根据开发群同学的反馈,特别是精英开发者直面不讳的批评,我们发现被劝退的主要原因是:不支持freetype! 先看看在以前的字体开发流程下,开发者是如何被劝退的吧: 1. 使用字体工具做字体的cpp文件 2. 将cpp文件加入到工程中编译 3. 运行后,发现字体大小有点不合适,重复步骤1,2,3 4. 再运行,发现有些字的点阵是缺失的,需要加上;于是再重复步骤1,2,3 所以,开发者至少需要做6个步骤...

10
12
发表于硬件 & IoT专区
01/19 10:24

GuiLite 3.6 发布:摊牌了,我是 IoT

为什么要作IoT 是的,大家没有看错,GuiLite不仅是4千行的GUI框架,还是颇有影响力的IoT解决方案。难道GuiLite违背初心了?哪里热就往哪里跑?诚然,经过几年的努力,GuiLite在嵌入式领域已经有了比较好的基础,开发者们开发出了很多超有价值的商业解决方案,甚至自我手术,打造了GuiLite python版,GuiLite C语言版。有些时候,我们自己都有点没有存在感了,因为很多开发者作的比我们更出色! 但通过跟开发群的同学交流,我们也...

7
10
发表于大前端专区
2020/10/30 11:26

GuiLite 3.5 发布:视频,视频,视频

开发需求: GUI需要支持视频吗?视频对GUI有很多锦上添花的功能。排除视频监控这种硬需求,一个炫酷的开机的动画,一个精彩、专业的屏幕测试视频,或许都能给枯燥无味的开发工作带来一些小小的乐趣;同时在软件需求阶段,在没有软件可运行的情况下,通过在真机上播放视频,也能达到对整体效果的评估。 目前已经有很多大型GUI框架都是支持了视频,但在嵌入式领域,往往由于硬件配置较低,让视频的表现不佳。所以,如何为嵌入式硬...

3
9
发表于大前端专区
2020/09/16 08:40

GuiLite 3.4 发布: 没手机的同学,有福了

这年头还有人没有Android手机吗?答案是肯定的,据调查,大概有以下几类同学等同于没有手机: 1. iPhone用户,一般不会再购买一部Android手机。 2. 由于顾虑隐私问题,不愿意把自己的手机当小白鼠的Android开发者。 3. 在公司,禁止使用智能手机的开发者。 那么,没有Android手机,是不是就不能进行Android开发了呢?如果你的app是纯Java语言开发的话,就不是问题;但一般高阶一点的Android开发都是Java,C/C++混合编程,这时就...

6
16
发表于大前端专区
2020/06/30 10:15

GuiLite :老伙计的兴奋剂,奥力给!

随着GuiLite在大量低配置单片机上的成功;很多古董硬件(例如:51单片,ESP32,STM32)也被重新召回,这些老伙计们大多被尘封多年,随着软件的复杂化,本来是没有重见天日的机会。但由于GuiLite“简单粗暴”的渲染方式,让这些老伙计们去“点个小星星”,“跑个3D效果”,“转个时钟”还是绰绰有余的。 当然任何硬件,都离不开妙手回春的开发者。开发群里面卧虎藏龙,有些作品非常抢眼,完全看不出是出自在校大学生之手。好了,...

27
15
发表于大前端专区
2020/05/26 08:57

GuiLite 3.3 发布:要灵活扩展,还要简单粗暴

本次更新,解决了:定制多样化问题,并优化了软件启动速度。 定制需求: 随着开发群的日益壮大,有想法的开发者层出不穷;倒是群主太过正常,显得跟大家有点格格不入了。大家需求是这样的: 我的硬件,没有framebuffer(这种情况在内存较小的单片机平台很常见),但我也想用GuiLite画出漂亮流畅的效果 我需要一个可以滚动的UI效果,界面上的所有元素(窗口)可以一起上下左右滑动(例如:手机通信录) 我需要一个半透明的窗口,其...

6
8
发表于大前端专区
2020/05/11 09:01

是的,GuiLite 收费了

如何收费 GuiLite本身依然是开源且商业免费使用,依然遵循apache 2.0协议;我们仅对新申请加入开发群的开发者收取“1元”的入群费。对于已经入群的开发者,不会另外收费;同时,也鼓励大家使用GitHub、Gitee的issue功能进行免费沟通。 收费目的 首先感谢成千上万的开发者支持,让GuiLite社区日益活跃,推进了GuiLite朝着开发者需要的方向发展。但同时也带来了一些问题,俗话说:“树多有枯枝”,很难保证开发群中所有人都是纯粹...

21
9
发表于大前端专区
2020/04/07 09:45

GuiLite是:1 + 1,不是二选一

首次推出视频 很荣幸得到“Gitee酱”的邀请,在哔哩哔哩平台,作了一栏介绍GuiLite的视频节目 -- 放码过来;通过该节目让更多人了解了GuiLite这个项目,还收获了很多有价值的意见,和新的开发群同学。所以,感谢码云平台提供的这次机会,同时,也希望有更多的开源项目能参加这个栏目,让我们在彼此了解中,互通有无。 灵魂拷问 当然,收获更多的关注,也会收到很多经典的问题,比如: Q1. 我已经在用Qt了,为什么还要GuiLite? ...

4
10
发表于大前端专区
2020/02/05 10:31

GuiLite 3.2 发布:Header only + 极客时钟

Header-only GuiLite在闭关的时间里,又作了一次自我修理:实现了header-only,以后在使用GuiLite,只需要包含头文件GuiLite.h即可。具体特点如下: 即开即用,不需要编译成库,就可以直接使用,大大降低移植/使用成本 保留了原有的清晰的代码结构,方便大家查阅代码 对于GuiLite开发者,仍然可以在原有代码结构上修改代码,最后,通过命令header-only.sh生成GuiLite.h 对于希望闭源的同学,依然可以采用编译库的方式来隐藏代码...

1
7
发表于大前端专区
2020/01/08 11:32

二次点火 19,still love you 20 -- GuiLite 年度总结

2019是GuiLite开源的第二年,发生了很多有趣的事情,简单罗列了一些数字、事件,算是给2019作一个总结。 2019关键数字 GuiLite可统计的编译、运行次数均超过10,000次;Linux平台下的编译活动约占80%,Windows约占10%,单片机平台约占10% GitHub star数从800+ => 3400+ Gitee star数从500+ => 1400+ 开发群人数从400+ => 900+ Demo实例从2个 => 14个 GuiLite源码从5500+行 => 4900+行 2019的自打脸事件 GuiLite的最低运行配置为:...

7
21
发表于大前端专区
2019/12/18 09:00

GuiLite 3.1 发布:5 星 readme,开源必备

早在一年前,就有国外网友吐槽GuiLite的readme设计过于凌乱,可能缺少艺术细胞,当时觉得动感十足的页面挺好看的,所以不以为然;后来经过一些作设计的朋友的指点,专门花了点钱,对readme.md作了重新设计。不知道大家可对现在的页面足够满意? 通过广发英雄帖,收集反馈,大家对这次的改版还是比较满意的;既然如此,大家可以考虑收藏一下,为自己以后的开源项目备用。设计理念如下: 1. 设计一个高对比度,且突出重点的logo,...

4
16
发表于大前端专区
2019/11/26 09:15

GuiLite 3.0 发布:苹果手表 + 嵌入式

支持苹果手表: 老规矩,先上运行图: 是不是觉得又熟悉,又新鲜?这两个实例已经在上次的代码更新中出现了,不过当时他们只是在展示单片机上的运行效果(当然也支持windows,linux,qt);今天他们已经登上了“苹果手表”。经过这么多凭条的验证,GuiLite独特的跨平台方法有比较好的实用性,我们有信心在更多平台上,运行GuiLite,最大程度节省开发者的时间和精力。 同时,我们还非常注意作手表系统的开发者,我们即将为GuiLi...

5
10
发表于大前端专区
2019/10/09 09:01

GuiLite 2.9 发布:单片机 + 3D

新功能 原本以为3D的故事已经结束了,但是开发群“王多余”同学的一个视频,让我们意识到单片机上依然有实现3D效果的可能,从视频上看出:少许的3D特效对用户体验有非常直观的提升(例如:开机动画,进度条,指示信息等)。当然这些效果不是单片机独有,其他嵌入式linux平台,或windows平台也可以获利;毕竟能以最小的资源代价得到3D效果,并没有坏处。 为此,我们特别开发了一个3D引擎(Hello3D),因为该引擎仅仅引用到了Gui...

5
21
发表于大前端专区
2019/09/17 08:32

GuiLite 2.8 发布:解释核心,简化移植,拉手 Qt

友好的开源项目,不仅仅是上传代码,更是开源设计思路,开箱即用,让开发者无痛/快速的获得新思路,新方法和新工具。为了让 GuiLite 对所有开发者都足够友善,我们又作了一些更新。 解释核心:大家反应最为强烈的代码注释问题,得到了比较大的改善,增加了如下文档更新: 完成 display.cpp 的函数注释;该文件,负责对显示设备的适配和GUI的移植; 完成 surface.cpp 的函数注释;该文件,负责底层渲染及图层管理; 完成 wnd.cpp ...

4
16
发表于大前端专区
2019/08/20 07:39

GuiLite 2.7 发布:提速 Qt、MFC、Winforms、Web

自从上次发布了第一个3D程序,导演就跟我说了:“这就是个网页程序,跟GuiLite又没有啥关系,这也不是啥绝活呀”。所以,我们又作了另一个3D程序: 对GuiLite比较熟悉的同学,可能会发现,立方体的四个面上贴的是:GuiLite的两个单片机实例(HelloWave和HelloParticle);具体实现部分大家看代码就好,这里不多赘述(老规律,代码在100行左右) 耳边,似乎又听到导演的声音:“这也不是啥绝活呀~难道你还要用GuiLite代替宇宙第一前...

6
25
发表于大前端专区
2019/07/30 08:42

GuiLite 2.6发布:真3D,起航

感谢大家对Hello 3D的认可,自从发布以来,吸引了很多同学编译、运行,罕见的出现了Windows,Linux,MCU起头并进的运行盛况。 虽然Hello 3D有着不错的3D效果,特别是物理运动--栩栩如生;但眼光犀利的同学还是能通过分析代码发现:Hello 3D其实是2D程序。只是视觉效果上,看起来特别像3D而已。首先非常佩服这些大神级同学的眼力;其实即使不分析代码也能猜出来,几十K内存的单片机怎么可能运行真3D程序呢? Hello 3D不是真3D,确...

13
27
发表于大前端专区
2019/07/09 09:24

GuiLite 2.5 发布:Hello 3D

许久以来,一直想为 GuiLite 增加一个 3D 效果的 demo,但 2D 引擎实现 3D 效果几乎是不可能的事情。当然,可以使用 OpenGL 和 DirectX,但这跟 GuiLite 就没啥关系了。 经过一些思考和实践,我们作出来了 Hello3D 这个实例,代码情况如下: 100+ 行 C++ 代码 支持 MCU,代码已经支持了 STM32F103,当然你可以根据需要移植到任何平台上 系统资源占用小,内存 15k 足矣 支持 Windows,Linux,单片机 运行效果如下: 具体如何实现...

8
18
发表于大前端专区
2019/06/26 07:36

GuiLite 2.4 发布:多些“温度”,多些爱

Bug Fix: 根据开发者的反馈,该版本进行了部分bug fix,对“键盘”控件进行了简单重构,便于大家对键盘长宽进行修改。 新功能: 承蒙开发者的错爱,GuiLite获得了少量捐赠,并达到了提现标准(100元),于是如何使用捐赠成了一个新需求;因为GuiLite是靠众多开发者的帮助才起死回生的,所以我们也想把这种帮助扩散出去,特别是去帮助真实世界的弱势群体--大病儿童,为此,我们作了如下安排: 所有捐赠用于救助大病儿童 在捐赠达...

4
4
发表于大前端专区
2019/06/06 10:06

GuiLite 2.3 发布:不拖,不拽;所 code 即所得

几乎所有的GUI框架都有一个自己特有的IDE,除了编译/调试外,主要功能是通过“拖拽”控件,进行UI设计;也就是所谓的“所见即所得”。例如:Android Studio,Qt designer,MFC资源编辑器 所以,很多开发者也希望GuiLite也出一个类似的IDE;这次,我们出了一个类似的功能,但并没有开发IDE;我们作了一个前所未有的尝试: 1. 不开发IDE,但开发Visual Studio Code的插件 2. 通过插件,直接读取正在编写的源代码文件,并自动分析出...

13
27
发表于大前端专区
2019/05/08 09:24

GuiLite 2.2 发布:更清晰的文档,更有效的帮助

为了节省GUI的开发时间,降低学习成本;我们做了如下尝试: 1. 降低代码数量(目前为5千行;C++语言是降低代码量的关键,C很难做到这一点) 2. 降低代码复杂度(仅仅使用C++的基本特性:类及虚函数) 3. 清晰的编译指南,保证编译/运行成功率100% 4. 增加特点鲜明的小实例程序(目前已经达到了10个) 5. 增加了开发文档及实时的QQ开发群答疑 为了让大家在最短时间里面,掌握GuiLite的设计原理,我们对文档又进行了如下升级: 1....

0
15
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2020/05/24 23:02

基于GUILite的简易万年历

上周看到杨工分享了篇文章《MCU SPI屏也能跑这么炫酷的特效?来,移植起来秀一秀》介绍了GuiLite开源项目的移植使用,看起来很酷。 咱也来实操一下,做个基于GUI的简易的万年历熟悉熟悉一下这个GUI库。 关于这个GUI库的介绍可以看杨工的那篇文章,也可以到其仓库查看: https://gitee.com/idea4good/GuiLite 这里也贴几个demo图片给大家一起欣赏一下: 移植比较简单,这个库需要的底层LCD接口不多: 主要需要适配的LCD接口就是一...

0
0
发表于程序人生专区
2020/11/02 00:43

5千行的GUI库,又双叒叕删减代码了

删减代码似乎是一件让人上瘾的事情,随着大家对GuiLite代码的熟悉,又发现了一些不必要的代码;于是6千行的代码,被删减到5千,而今天更删减到了让群主都难以置信的4千行。好担心有一天GuiLite因为代码数量不够而被消失了。。。 在下真的认为:目前的代码已经精炼无比,绝对没有再次删减的可能;但是谁知道打脸会不会在2021年准时到来呢? 代码更新: 1. 删掉audio相关的代码 -- 感谢开发群同学犀利的眼光 2. 重构UI消息回调机制...

3
1
2020/05/23 18:10

MCU SPI屏也能跑这么炫酷的特效?来,移植起来秀一秀

最近智能小车的项目还在加功能调试中,等后续调试完毕后更文。今天咱们就来分享一个在Github上看到的非常有意思的GUI开源项目。 1 主角介绍 今天介绍的主角是Github上开源的项目GuiLite,同时码云上也有同步,由大佬idea4good提供。 1.1 GuiLite特点(来自码云官网) 开源项目网站: https://github.com/idea4good/GuiLite https://gitee.com/idea4good GuiLite提供了不少运行实例,具体就是上面这些啦。 2 在小熊派(STM32)LCD(ST...

0
0
发表了博客
2017/12/07 23:04

收藏3

https://git.oschina.net/idea4good/GuiLite/

3
0
发表了博客
2020/05/21 23:30

MCU SPI屏也能跑这么炫酷的特效?来,移植起来秀一秀

最近智能小车的项目还在加功能调试中,等后续调试完毕后更文。今天咱们就来分享一个在Github上看到的非常有意思的GUI开源项目。 1 主角介绍 今天介绍的主角是Github上开源的项目GuiLite,同时码云上也有同步,由大佬idea4good提供。 1.1 GuiLite特点(来自码云官网) 开源项目网站: https://github.com/idea4good/GuiLite https://gitee.com/idea4good GuiLite提供了不少运行实例,具体就是上面这些啦。 2 在小熊派(STM32)LCD(ST...

0
0
发表于程序人生专区
2020/11/12 01:39

最简单的语言,最昂贵的代价

尖锐的问题: GuiLite刚出生的时候,遇到的最多的问题就是:既然支持单片机,为什么不用C语言? 诚然,单片机的开发者多用C语言,最多的顾虑是自己的开发环境是否支持C++;随着大量的GuiLite实例在各种单片机环境的运行,大家的疑虑被彻底解除;但更尖锐的问题出现了:“为什么要使用全宇宙最难的C++开发GUI框架?为什么不用最简单的语言C呢?” C语言的代价: 首先,在嵌入式领域,C语言的项目很多,很多大名鼎鼎的GUI数不胜数...

30
19
发表于程序人生专区
01/05 08:13

身在其坑,不知其深:GUI

GUI是个大坑,Linux之父也得绕道而行,理由是:他想让自己的活的久一点! GUI也是性价比最高的软件作品,君不见各大操作系统,即使功能不做任何调整,也会隔三差五的更新UI;所谓的操作系统更新,已经被冠以界面更新了,虽然被很多程序员不齿,但其宣传效果和用户期待度都非常之高。功能可以千篇一律,但是界面风格必须不拘一格,对吧? 所以,无论你是老板,技术总监,还是普通程序员,GUI永远是你需要着重考虑的事情! 可能有...

3
2
发表于程序人生专区
2020/09/11 17:17

教练,我想在手机上跑:单片机、嵌入式

开发者的悲伤: 作为一名嵌入式/单片机的开发者,很多时候都是在折腾各种硬件;看看火热的移动端,各种手机APP的炫酷表现,莫名有种被时代抛弃的感觉,虽然自己也是程序员,但当家人问你的APP长啥样时,你竟然需要跟家人说:我不会作手机程序。什么?你连手机程序都不会作,还好意思说自己是程序员??? 好吧,不要感叹理解你的人太少,让被理解也很容易,把手机这个鸿沟填补上就好了。 技术难点: 1. 嵌入式程序多是C/C++编写...

4
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2020/01/12 00:47

【一周】Win 10 UI又被吐槽 | Linus两个文明观点 | 年度语言C、年度数据库MySQL

回顾一周社区热门资讯 第【五十六】期:20200104-20200110 点击相应标题,跳转阅读全文。 2.5G 与 5G 之外,Wi-Fi 频段有望扩展到 6GHz 一旦获得监管机构的批准,预计智能手机和消费者接入点将成为首批采用该技术的设备,其次是企业接入点。根据 Wi-Fi 联盟的说法,Wi-Fi 6E 对于 AR 和 VR 尤其有用。 DB-Engines 2019:MySQL 获得“年度数据库”称号 甲骨文的举动却出乎了很多人的意料,甚至做得比预期中的要好。甲骨文不但创建...

1
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
52 评论
799 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部