16得票2回答
指令级别分析:指令指针的含义是什么?

当在汇编指令级别对代码进行分析时,考虑到现代CPU不按顺序或顺序执行指令,那么指令指针的位置实际上意味着什么?例如,假设有以下x64汇编代码: mov RAX, [RBX]; // Assume a cache miss here. mov RSI, [RBX + RCX];...

16得票4回答
C中类似Haskell的类型系统

我想知道,是否有可能将Haskell强大的类型系统集成到像C这样的语言中,但仍能够进行高效的低级编程?

15得票10回答
除了Scala,还有哪些第二语言适合用于LowLevel?

我非常喜欢Scala,感到绝对满意 :) 但是有时我真的想更加“低级”,不使用JVM,并使用类似SSE等“酷炫”的CPU特性。 那么除了Scala之外,还有哪些好的第二种语言呢? 它应该具备以下特点: 编译为机器码 易于使用C库 可以非常接近硬件进行编程 在需要时可以以非常高层次的方...

15得票4回答
如何在Unicode中将字符串设置为大写/小写?

这主要是一个理论性的问题,我很好奇。 (我不是在试图通过编程自己实现它,我不是在重新发明轮子。) 我的问题是 Unicode 大小写字母表等价性如何工作。 例如,如果我必须在 ASCII 中执行此操作,则会取一个字符,如果它落在[a-z]范围内,则会求出A和a之间的差异。 如果它不在该范...

15得票5回答
从.NET程序集(dll)中获取所有静态(内部化)字符串

我希望获得一个包括“静态”值、传递给方法的参数、设置字段等在内的所有使用在.NET程序集中的字符串列表。 我想起来很久以前读过一些东西,说.NET程序集包含了它所使用的所有字符串表(或者它们可以被"interned"),难道这只是我的幻想吗? 使用.NET Reflector是个好主意(感...

15得票10回答
知道 C 语言会让你成为更好的高级程序员,具体有哪些例子?

我知道有一些类似于这个和这个问题的存在。让我来解释一下。 在阅读了Joel的文章《回归基础》并看到了许多类似的问题后,我开始想知道,学习像C这样的语言是否真的能使你成为更好的高级程序员,是否有具体的应用实例。 我想要了解的是,是否有很多这样的例子。很多时候,对于这个问题的答案是像“知道C语...

15得票2回答
函数柯里化是如何实现的?

我理解什么是柯里化,并且知道如何使用它。这不是我的问题,我只是好奇在比如说 Haskell 代码的低层次是如何实现的。 例如,当 (+) 2 4 被柯里化时,指向 2 的指针是否一直保持到传递 4?甘道夫弯曲了时空吗?这是什么魔法?

14得票1回答
在GCC中是否存在固定大小的整数?

在GCC编译器上,可以使用__int8、__int16、__int32等类型来表示具有特定大小的整数。这对于需要处理低级数据结构(如自定义文件格式、硬件控制数据结构等)的应用程序非常有用。

13得票6回答
缓存一致性的意义是什么?

在像x86这样提供缓存一致性的CPU上,从实际角度来看这有什么用呢?我知道这个想法是使得在一个核心上进行的内存更新立即在所有其他核心上可见。这是一个有用的特性。然而,如果不编写汇编语言,人们不能过度依赖它,因为编译器可以将变量分配存储在寄存器中,而从未将它们写入内存。这意味着人们仍必须采取明确...

13得票1回答
位操作和模运算

阅读此文:http://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith64BitsDiv 我遇到了这句话: 最后一步是对2^10 - 1取模,将64位值中每组10个位(从0-9、10-19、20-29等位置)合...