首页 文章 精选 留言 我的

精选列表

搜索[编译器],共6132篇文章
优秀的个人博客,低调大师

Scala.js 0.6.29 发布,将 Scala 编译成 js 的编译器

Scala.js 是一个将 Scala 语言编译成 JavaScript 的工具,旨在构建更健壮的前端web应用程序。0.6.29版本包括: 用 SBT 1.x 对增量编译中的主要错误进行修复 主要的性能改进,特别是在模式匹配方面 它还引入了 js.import(ModuleName),相当于 JavaScript 的动态import() 调用。具体如下: js.import( )动态导入 CMAScript 2020 将标准化动态导入,Scala.js 使用 js.import[A<:js.Any]() 方法添加对它们的支持,它返回一个 js.promisation[A],其中参数 A 是描述模块 API 的 JS 特性。 import scala.scalajs.js trait FooAPI extends js.Any { def bar(x: Int): Int } val moduleName = "foo.js" val promise = js.`import`[FooAPI](moduleName) val future = promise.toFuture for (module <- future) { println(module.bar(5)) } JDK 集合被重写,不再依赖 Scala 集合 在 0.6.28 之前,几个 JDK 集合(包括 java.util.HashMap、java.util.HashSet 和 java.util.TreeSet)都是在相应的 Scala 集合之上实现的(例如,Scala.Collection tion.immutable.HashMap),由于 JDK 集合和 Scala 集合之间的语义不匹配,导致效率问题。在 Scala.js 0.6.29 中,完全重新实现了所有这些集合,使 JDK 集合不再依赖 Scala 集合。 对 Unicode 数据库进行了升级,使其与最新的 JDK 8 相匹配 以下 Unicode 字符现在已被 java.lang.Character 方法识别并正确分类:00BB,20BC 到 20BF 和 32FF。 该版本还带来其他更改和修复,详情见发布说明。

优秀的个人博客,低调大师

GCC 12 进入第 4 阶段的开发,具有许多新的编译器功能

GCC 版本经理 Richard Biener于 1 月 17 日 发送了一封 《GCC 12.0.1 状态报告》邮件,宣布 GCC 12 开发的“第 3 阶段-错误修复期”已结束,现已进入“第四阶段”:专注于回归/文档修复的开发,在此期间进行的所有更改都应尽量避免引入新的回归。 目前 GCC 12 仍有 38 个P1 优先级的回归需要处理,此外,P2 优先级的为 310 个,P3 优先级的为 286 个,P4 优先级的为 221 个,P5 优先级的为 25 个。大部分新的 P3 分类 bug 将变成 P1 或 P2 ,但若涉及主平台或次平台,那么针对 GCC 11的每一次回归都被认为是 P1 。 回顾一下咱们 OSC 报导过的 GCC 12 新特性: 添加了对 Mold 链接器的支持 为 x86 cpu 添加 SLS 缓解选项、 合并了对 RISC-V 的 Bitmanip 扩展的初始支持 或将支持 AArch64 Darwin 为"-O2" 优化级别启用矢量化选项、 将支持 #elifdef 和 #elifndef 指令 静态分析器获得初步汇编支持、 已准备好抵御基于 Unicode 的 Trojan Source 攻击 进入第四阶段意味着 GCC 12 会包含上述所有新特性,GCC 12.1 预计会作为第一个 GCC 12 稳定版本在 4 月中下旬发布 。

优秀的个人博客,低调大师

从编译器、游戏引擎到游戏掌机,我是这样做独立游戏的

引言 自己开发制作游戏是一个儿时起就有的梦,特别是长时间接触魔兽争霸3世界编辑器后,我对游戏引擎和开发工具也有着特别的兴趣。学生时代接触编程以后,梦的外延开始扩散,不满足于使用各式编程语言做开发,开始维护一门自己喜欢的写游戏业务逻辑的编程语言项目 Yuescript,因为学习图形学和作为练手项目重写 Cocos2d-x 有了 Dora SSR 游戏引擎。工作后因为对游戏掌机的喜爱,开始与伙伴合作研发自由开放的可编程游戏掌机设备——吉祥机,实现自己游戏梦终极的 Digital Freedom。 游戏脚本语言的乐趣与挑战 各式新的编程语言的学习过程是充满乐趣的,对不同语言工具的接触也会感受到不同的编程理念和程序设计思想。为了学习制作游戏,对于复杂多变游戏玩法的脚本编程(Scripting),我也形成了自己编程偏好,即使用一门尽可能简洁和表达力强的编程语言来编写容易变化的业务逻辑。可以转译为 Lua 语言执行的 Yuescript 语言开源项目就是我为了满足这个需求的产物。后来随着使用自己的 Dora SSR 游戏引擎遇到更多的游戏开发场景,我又为 Dora SSR 开源游戏引擎引入了 Teal(为 Lua 语言添加静态类型检查能力的语言)、Typescript(进一步增强代码编辑器提示和代码检查的语言)、TSX 和 XML(提供描述性代码进行组件化开发的语言)等等。每一种脚本语言都能在特定的游戏开发场景发挥优势,并通过转译到最终运行的、同样的 Lua 语言进行无缝的互通调用。不只是基于 Lua 语言的扩展,Dora SSR 游戏引擎项目还在尝试通过 WASM 虚拟机来支持更加多样的可以用做游戏脚本编程的语言,如 Rust 和准备支持的 C++ 和 Go 等,兼顾性能与引擎的运行时扩展能力。 游戏引擎的创新之路 说到游戏引擎大家总是想到高性能高质量的图形渲染,搭建复杂的游戏场景。实际上作为独立游戏开发者,或是游戏制作的爱好者,并不是人人都有条件追求 3A 游戏的制作能力(可能会缺少钞能力)。我认为很多 2D 游戏或是 2D 混合 3D 效果的游戏也能表达展现十分有创意和独特的游戏作品。而且能运行自己制作游戏的终端最好是不受限制的,再进一步,也许能用于开发游戏的终端和操作系统也可以是不受限制的。所以就有了 Dora SSR 开源游戏引擎的项目目标,在尽可能多的设备上为游戏开发爱好者提供便捷易用的环境甚至是游戏开发 IDE。 一直以来游戏开发这件事也成为了我的个人生活的一个日常的部分。哪怕只有碎片化的时间和手边随机可用作游戏开发和运行的设备,我也想有空就利用起来碎片化地写两行游戏代码,或是调试一个游戏功能,并把它变成了一种比较随性和惬意的休闲娱乐活动。 所以我也尝试了在 Dora SSR 上搭建了通过游戏引擎运行时内置用于游戏开发的 Web IDE 服务器,可以通过其它方便做输入的设备通过 Web 浏览器做访问,并实现直接在任意的终端设备上直接编写运行和调试游戏程序代码的体验。同时用户能获得代码编辑器可视提示服务、以及使用其它游戏开发和资源管理的可视化工具。目前 Dora SSR 在努力之下已具备了在 Windows、macOS、iOS、Android、多个 Linux 发行版上进行游戏开发的能力。 向着自由开放的游戏掌机梦想迈进 到此我觉得对游戏开发能力的自由和开放体验的追求还远不到尽头。作为喜好各式掌机的老玩家,在体验了诸多国产开源掌机的商业产品后,我感觉深深的不满足。用掌上游戏机玩游戏目前还是在卷硬件参数和外观设计来提供体验的差异化,而我期待的掌机并不只是玩游戏上的体验,还应该是一个可以用来自由的开发、运行甚至发行自制游戏的设备。很多掌机厂商都有自己的商业化模式和获得盈利的闭环,所以不会允许硬件设备获得太多可编程定制的能力。于是和同样对硬件发烧的伙伴一起研究构建了完全自由开放的掌机设备。并尽可能提供包括机器的计算核心、外设和外观均可进行模块化的定制和更换的能力(使科技不再以换壳为本)。于是又有了叫做“吉祥机”的项目。 回到游戏创作的初心 所以折腾了半天我们的游戏到底做出来了没有呢?答案当然是做了,但没完全做出来啦。在生成式 AI 大模型进入彻底火爆前夕的2020年,我们就想象了这样一个关于未来的 AI 的游戏故事,在未来人的物质需求已经得到完全满足,人生下来的目的只剩下了通过进行游戏娱乐,并通过采集在游戏过程体现人创造力和展现智慧的交互数据给 AI 用做训练材料。人生的价值都是由未来的银行(数据银行),通过评估在游戏活动中人所创造的智能数据的质量和价值,来进行货币分配和评定的。最终数据训练出的 AI,则会帮助人完成一切的物质生产,从人类个体的养育到社会治理。游戏的剧情会探索在这样的设定背景下,人类会有什么样的故事。最后游戏输出的价值观就是人生来就应该是改造世界的主体,而不是只会适应一切现状的被改造的客体。也呼应了我和我的伙伴们一直在现实中追寻的东西,想要不被与生俱来的一切所定义,就靠自己的主动创造去重新定义一切。 如果对我们在做的编程语言、游戏引擎、游戏掌机或是开源独立游戏项目感兴趣,欢迎 Star 我们的仓库或是进入我们的 Q 群一起聊聊。目前的项目都还在逐渐完善的阶段,但是几个项目都会互相整合和验证迭代,关注我们也可以及时看到我们的项目是怎么做的以及目前的进展。 项目地址 游戏引擎:https://gitee.com/pig/Dora-SSRhttps://github.com/IppClub/Dora-SSR Yuescript语言:https://gitee.com/pig/Yuescripthttps://github.com/pigpigyyy/Yuescript 《灵数奇缘》开源游戏项目:https://luv-sense-digital.readthedocs.io 游戏开发及掌机交流 Q 群:512620381

优秀的个人博客,低调大师

从编译器、游戏引擎到游戏掌机——我是这样做独立游戏的

引言 自己开发制作游戏是一个儿时起就有的梦,特别是长时间接触魔兽争霸3世界编辑器后,我对游戏引擎和开发工具也有着特别的兴趣。学生时代接触编程以后,梦的外延开始扩散,不满足于使用各式编程语言做开发,开始维护一门自己喜欢的写游戏业务逻辑的编程语言项目 Yuescript,因为学习图形学和作为练手项目重写 Cocos2d-x 有了 Dora SSR 游戏引擎。工作后因为对游戏掌机的喜爱,开始与伙伴合作研发自由开放的可编程游戏掌机设备——吉祥机,实现自己游戏梦终极的 Digital Freedom。 游戏脚本语言的乐趣与挑战 各式新的编程语言的学习过程是充满乐趣的,对不同语言工具的接触也会感受到不同的编程理念和程序设计思想。为了学习制作游戏,对于复杂多变游戏玩法的脚本编程(Scripting),我也形成了自己编程偏好,即使用一门尽可能简洁和表达力强的编程语言来编写容易变化的业务逻辑。可以转译为 Lua 语言执行的 Yuescript 语言开源项目就是我为了满足这个需求的产物。后来随着使用自己的 Dora SSR 游戏引擎遇到更多的游戏开发场景,我又为 Dora SSR 开源游戏引擎引入了 Teal(为 Lua 语言添加静态类型检查能力的语言)、Typescript(进一步增强代码编辑器提示和代码检查的语言)、TSX 和 XML(提供描述性代码进行组件化开发的语言)等等。每一种脚本语言都能在特定的游戏开发场景发挥优势,并通过转译到最终运行的、同样的 Lua 语言进行无缝的互通调用。不只是基于 Lua 语言的扩展,Dora SSR 游戏引擎项目还在尝试通过 WASM 虚拟机来支持更加多样的可以用做游戏脚本编程的语言,如 Rust 和准备支持的 C++ 和 Go 等,兼顾性能与引擎的运行时扩展能力。 游戏引擎的创新之路 说到游戏引擎大家总是想到高性能高质量的图形渲染,搭建复杂的游戏场景。实际上作为独立游戏开发者,或是游戏制作的爱好者,并不是人人都有条件追求 3A 游戏的制作能力(可能会缺少钞能力)。我认为很多 2D 游戏或是 2D 混合 3D 效果的游戏也能表达展现十分有创意和独特的游戏作品。而且能运行自己制作游戏的终端最好是不受限制的,再进一步,也许能用于开发游戏的终端和操作系统也可以是不受限制的。所以就有了 Dora SSR 开源游戏引擎的项目目标,在尽可能多的设备上为游戏开发爱好者提供便捷易用的环境甚至是游戏开发 IDE。 一直以来游戏开发这件事也成为了我的个人生活的一个日常的部分。哪怕只有碎片化的时间和手边随机可用作游戏开发和运行的设备,我也想有空就利用起来碎片化地写两行游戏代码,或是调试一个游戏功能,并把它变成了一种比较随性和惬意的休闲娱乐活动。 所以我也尝试了在 Dora SSR 上搭建了通过游戏引擎运行时内置用于游戏开发的 Web IDE 服务器,可以通过其它方便做输入的设备通过 Web 浏览器做访问,并实现直接在任意的终端设备上直接编写运行和调试游戏程序代码的体验。同时用户能获得代码编辑器可视提示服务、以及使用其它游戏开发和资源管理的可视化工具。目前 Dora SSR 在努力之下已具备了在 Windows、macOS、iOS、Android、多个 Linux 发行版上进行游戏开发的能力。 向着自由开放的游戏掌机梦想迈进 到此我觉得对游戏开发能力的自由和开放体验的追求还远不到尽头。作为喜好各式掌机的老玩家,在体验了诸多国产开源掌机的商业产品后,我感觉深深的不满足。用掌上游戏机玩游戏目前还是在卷硬件参数和外观设计来提供体验的差异化,而我期待的掌机并不只是玩游戏上的体验,还应该是一个可以用来自由的开发、运行甚至发行自制游戏的设备。很多掌机厂商都有自己的商业化模式和获得盈利的闭环,所以不会允许硬件设备获得太多可编程定制的能力。于是和同样对硬件发烧的伙伴一起研究构建了完全自由开放的掌机设备。并尽可能提供包括机器的计算核心、外设和外观均可进行模块化的定制和更换的能力(使科技不再以换壳为本)。于是又有了叫做“吉祥机”的项目。 回到游戏创作的初心 所以折腾了半天我们的游戏到底做出来了没有呢?答案当然是做了,但没完全做出来啦。在生成式 AI 大模型进入彻底火爆前夕的2020年,我们就想象了这样一个关于未来的 AI 的游戏故事,在未来人的物质需求已经得到完全满足,人生下来的目的只剩下了通过进行游戏娱乐,并通过采集在游戏过程体现人创造力和展现智慧的交互数据给 AI 用做训练材料。人生的价值都是由未来的银行(数据银行),通过评估在游戏活动中人所创造的智能数据的质量和价值,来进行货币分配和评定的。最终数据训练出的 AI,则会帮助人完成一切的物质生产,从人类个体的养育到社会治理。游戏的剧情会探索在这样的设定背景下,人类会有什么样的故事。最后游戏输出的价值观就是人生来就应该是改造世界的主体,而不是只会适应一切现状的被改造的客体。也呼应了我和我的伙伴们一直在现实中追寻的东西,想要不被与生俱来的一切所定义,就靠自己的主动创造去重新定义一切。 如果对我们在做的编程语言、游戏引擎、游戏掌机或是开源独立游戏项目感兴趣,欢迎 Star 我们的仓库或是进入我们的 Q 群一起聊聊。目前的项目都还在逐渐完善的阶段,但是几个项目都会互相整合和验证迭代,关注我们也可以及时看到我们的项目是怎么做的以及目前的进展。 项目地址 游戏引擎:https://gitee.com/pig/Dora-SSRhttps://github.com/IppClub/Dora-SSR Yuescript语言:https://gitee.com/pig/Yuescripthttps://github.com/pigpigyyy/Yuescript 《灵数奇缘》开源游戏项目:https://luv-sense-digital.readthedocs.io 游戏开发及掌机交流 Q 群:512620381

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册