启用 JavaScript 和 Cookie 以继续。
启用 JavaScript 和 Cookie 以继续。
本文档概述了一种为内存计算系统设计的分布式仿真环境。作者——Eleni Bougioukou、Anastasios Petropoulos、Nikolaos Toulgaridis、Theodoros Chatzimichail 和 Theodore Antonakopoulos——创建了一个系统,以促进对这些复杂系统的测试和评估。 其核心目的是提供一个平台,供研究人员和开发人员模拟和分析内存计算架构的行为,而*无需*构建和部署物理硬件。这是通过分布式仿真实现的,从而实现可扩展性并能够模拟更大、更真实的系统。该作品采用知识共享署名 4.0 许可协议,表明在正确署名的情况下,可以公开访问和重复使用。该文档包含各种链接和注释,可能指向进一步的资源或研究中的相关工作。
这段文字详细描述了作者回忆起1989-1990年将游戏《血钱》移植到Commodore 64的过程。该项目涉及几个关键组成部分:多向滚动、双人动作的精灵复用器、脚本、精灵压缩、炮塔、角色精灵、武器/子弹、碰撞检测以及商店前端。
作者 fondly 回忆起使用PDS(程序员开发系统)——一个PC ISA卡和C64卡带——它内置的编辑器、汇编器和调试器大大加快了开发速度。他们强调了为了优化而有效利用6502的零页内存。
游戏的独特之处在于其基于位图的碰撞检测,允许与背景进行精确的交互。代码还包含一个巧妙的调试系统,由BRK指令触发,以及作者至今仍在使用的变量分配方法。尽管现在有些地方让人尴尬,但作者对代码的注释水平印象深刻,考虑到这是他们第二次做游戏。下一期将深入探讨游戏的IRQ和复用器的复杂性。
启用 JavaScript 和 Cookie 以继续。
在最近的一篇博文中,Hữu Phong 对流行的笔记应用 Obsidian 的安全性表达了谨慎的担忧。 他赞扬了 Obsidian 的理念以及他自己的积极体验(主要是在 iOS 上,功能有限),但也强调了其闭源代码和分发方式带来的潜在风险。 与 Mac App Store 上的应用程序不同,Obsidian 没有沙盒保护,并且缺乏公开代码审查。 这,加上对可能存在风险的社区插件的严重依赖,以及频繁访问敏感用户文件夹(如 iCloud Drive)的权限,造成了漏洞。 Phong 将 Obsidian 与 VS Code 进行比较,指出其开源性质和更大的社区提供了更强的安全监督。 他信任 Obsidian 团队,但敦促用户和开发者承认并解决这些潜在的“尖锐问题”,以防止应用程序在人们的工作流程中变得越来越重要时出现未来的安全问题。
[空格] 哔
## C++ 竞技场分配器与析构函数 本文探讨了在C++中扩展竞技场分配器,以安全地管理具有非平凡析构函数(例如处理文件句柄或套接字)的对象,同时不牺牲竞技场分配的优势。作者在之前的竞技场分配器实现基础上,增加了一种机制来跟踪并在释放竞技场时执行析构函数。 核心思想是使用“Dtor”结构的链表,每个结构体包含一个指向需要销毁的对象数组的指针、一个计数以及一个函数指针来处理销毁过程(使用就地`delete`)。 分配器会检查类型是否具有平凡析构函数; 如果没有,它会在分配对象本身之前分配一个`Dtor`条目,以确保正确的清理。 这种方法保持了异常安全性,并且不会影响*具有*平凡析构函数对象。重要的是,现有的竞技场接口——使用复制或指针传递——保持不变,允许与现有代码无缝集成。 尽管承认C++的复杂性,作者展示了一种实用的解决方案,即使不依赖标准库,并建议针对特定用例进行潜在的优化。 这些技术仍然是“推测性的”,因为它们尚未在生产代码中经过充分测试。
## VST SDK 3.8 发布 – 摘要
Steinberg 发布了 VST SDK 3.8,为 VST 开发者带来了重大更新。**尤其值得注意的是,VST 3 现在以 MIT 许可开源**,这是该平台的一项重大转变。
主要改进包括增强的 **MIDI 2.0 支持**,具有新的接口 (IMidiLearn2, IMidiMapping2) 和扩展的 MIDI 1.0 控制器编号定义。**初步的 Linux Wayland 支持** 也已引入,建立在 PreSonus 的贡献之上。
VSTGUI 框架收到了更新,包括用于改进线程处理的新的 **任务并发 API**,对 **自定义视图布局** (包括类似 CSS Grid 的布局器) 的支持,以及新的文本编辑器视图。
该版本还解决了各种错误修复和文档改进、CMake 构建以及验证工具的改进。示例插件已更新,以展示新的 MIDI 功能。
SDK 可在 [steinberg.net](steinberg.net) 下载,文档可在 [steinbergmedia.github.io](steinbergmedia.github.io) 找到。