问题标签 [low-level]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5407 浏览

assembly - CPU 如何实现 MUL/MULT 等指令?

在不同的汇编语言中,MUL (x86)/MULT (mips) 指的是乘法。它是程序员的黑匣子。无论架构如何,我都对 CPU 实际如何完成乘法感兴趣。假设我的寄存器中有两个 16 位值,并且我是 CPU,所以我必须使用我拥有的其他位摆弄指令(and、or、xor、not、shl、shr 等)来实现 MUL。我该怎么办?

0 投票
5 回答
4628 浏览

c++ - Windows 系统中是否存在未缓冲的 I/O?

我想找到没有缓冲区的低级 C/C++ API,相当于 linux 系统中的“write”。有吗?

fread、fwrite 等缓冲 I/O 不是我想要的。

0 投票
2 回答
357 浏览

cocoa - Cocoa 内存编辑检查

我将如何使用 Cocoa 编辑其他应用程序的内存?我知道必须以 root 身份进行编辑,但我首先要怎么做呢?

0 投票
3 回答
2216 浏览

multithreading - 低级编程:操作系统如何启动新线程/进程?

每当引导加载程序加载操作系统时,大概只有一个程序流处于活动状态,对吧?这意味着,一个处理器持有指令指针并执行它在 EIP 寄存器指向的位置找到的命令。在什么时候以及系统如何开始利用更多的进程和/或线程(没有用户态线程,但 cpu 线程)?

0 投票
30 回答
63124 浏览

c - 为什么要在汇编中编程?

我有一个问题要问所有的铁杆低级黑客。我在博客中看到了这句话。我真的不认为来源很重要(如果你真的在乎,那就是 Haack),因为它似乎是一个常见的陈述。

例如,许多现代 3-D 游戏都有用 C++ 和汇编编写的高性能核心引擎。

就程序集而言 - 是用程序集编写的代码,因为您不希望编译器发出额外的指令或使用过多的字节,或者您正在使用无法用 C 表达的更好的算法(或无法表达没有编译器把它们弄乱了)?

我完全明白理解底层的东西很重要。我只是想在你理解它之后理解为什么程序在汇编中。

0 投票
5 回答
7341 浏览

.net - 从 .NET 程序集 (dll) 中获取所有静态(内部)字符串

我希望获得 .NET 程序集中使用的所有字符串的列表,包括局部变量设置为的“静态”值、传递给方法的参数、设置为的字段等。

我从很久以前读过的一篇文章中回忆起 .NET 程序集包含一个包含它使用的所有字符串的表(或者它们可以被“实习”)——或者我只是在做梦?

使用.NET Reflector是一个很好的理想选择(感谢 thijs),如果没有人提出已经编写好的工具,我也会看看它的 API。

(这样我就可以编写一个工具来检查我们没有遗漏任何应该翻译的字符串。我可以处理 C# 源代码,但是我将不得不处理分成多行的字符串等)

我刚刚想,我希望排除传递给 CodeFlowException() 等的字符串,所以这已经变得越来越复杂了。

PS:如果您能想到更好的标签集,请重新标记此问题。

0 投票
1 回答
105 浏览

windows - ESE 中的索引

Microsoft“可扩展存储引擎”是否公开了对存储管理器的足够访问权限以允许我编写自定义访问方法,例如GiST

或者,是否有一个基本的 Windows 日志管理器/缓冲池管理器项目,我可以扩展它来玩 GiST 而无需重新发明整个轮子?(访问方法是我有兴趣尝试的部分,所以我不介意重新发明它。)

0 投票
8 回答
1546 浏览

programming-languages - C++的替代语言?

在从事业余爱好项目时,我真的很喜欢用低级语言编程(从某种意义上说,C 和 C++ 是低级的)。我不想使用带有垃圾收集的托管语言以及诸如此类的东西,这会带走所有乐趣(是的,我们都是不同的;-))。

通常我将 C++ 用于这些类型的项目。C++ 相当复杂且不那么优雅,所以我一直在寻找一种语言来替代它。有人可以给我建议吗?

偏好(非要求):

  • 应该是低级的(如 C 和 C++)
  • 编译为本机代码(类似于上面的内容,但明确表示没有害处)
  • 最好以win32/win64为目标
  • 面向对象
  • 静态类型

我看过Objective C,但我不喜欢它。

0 投票
2 回答
1723 浏览

c - 为什么 WH_MOUSE 钩子不再是全局的了?

我在一个监视鼠标手势的 DLL 中有这个全局鼠标钩子设置。

一切正常,但为 WH_MOUSE_LL 设置了一个钩子,这是一个低级钩子,不​​需要在外部可注入 DLL 中。

一旦我切换到更合适的那个会说 - WH_MOUSE 鼠标钩,一切都崩溃了。一旦我在我的主应用程序(安装钩子的那个)之外单击,钩子就会损坏 - ::UnhookWindowsHookEx 将失败。

我只发现这个人在专家交流中说

“没办法,至少在Windows XP + SVP2下WH_MOUSE不会全球化,你必须改用WH_MOUSE_LL。”

我正确设置了钩子:在使用共享数据部分的 DLL 中,从钩子过程中发布而不发送消息。

为什么这发生了变化?为什么没有记录?有人遇到过这个吗?谢谢!

顺便说一句:我对流行的StrokeIt应用程序进行了一些逆向工程,它使用了 WH_GETMESSAGE 和 WH_MOUSE 钩子的组合,并且仍然可以在 XP/Vista 上运行......

0 投票
9 回答
3272 浏览

embedded - 低级程序员应该具备什么技能?

我是一名嵌入式软件工程师,拥有不到 3 年的经验。我的目标是不断地“磨刀”。我想知道是否有 C/C++ 编码人员应该精通的特定于低级编程的东西。

我想到的是熟悉硬件的架构和指令集。知道如何摆弄比特也很重要,资源管理和性能一直是我工作的一部分,还有别的吗?

编辑:我使用的是内部定制的 RTOS,而不是嵌入式 Linux。