Tag: 计算机科学

如何在C中旋转1d数组的一部分?

我打印出一个6×6 1darrays,但想要逆时针旋转左上角3×3部分。 有算法吗? 将来我也想像右下3×3部分或右上3×3部分或左下3×3部分一样旋转。 a[0] a[1] a[2] a[3] a[4] a[5] a[1] a[2] a[8] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[0] a[7] a[14] a[9] a[10] a[11] a[12] a[13] a[14] a[15] a[16] a[17] —> a[6] a[12] a[13] a[18] a[19] a[20] a[18] a[19] a[20] a[21] a[22] a[23] a[18] a[19] a[20] a[21] a[22] a[23] a[24] a[25] […]

“数据位”容量与“开销位”大小?

我有点卡住,因为我找不到任何覆盖缓存的“数据”部分的东西,我用Google搜索的所有内容都使用缓存的地址达到了99.9%。 我被问到的问题是这样的 对比“数据位”容量和“开销位”大小之间的差异 对于两个缓存。 我不想要答案,所以我不会发布实际的设置大小,什么不是,我只是寻找一个方向可能是一个网站或解释如何“对比”两个。 任何可能的帮助都非常感谢!

heartbleed bug是C中经典缓冲区溢出漏洞的表现吗?

在我们关于安全性的第一次CS讲座中,我们讨论了C的问题,没有检查所谓的缓冲区长度以及可以利用此漏洞的不同方式的一些示例。 在这种情况下,它看起来像是一个恶意读操作的情况,其中应用程序只读出了很多字节的内存 我是否正确断言Heartbleed错误是C缓冲区长度检查问题的表现? 为什么恶意使用在尝试读取其他应用程序的内存时不会导致分段错误? 在写入内存之前简单地将内存归零(然后随后从中读取)会导致分段错误吗? 或者这在操作系统之间有所不同吗? 或者其他一些环境因素? 显然无法识别漏洞的利用。 是因为心跳function在调用时不记录? 否则,对64k字符串的任何请求肯定是恶意的?

从头开始编程

我想知道的是从头开始编程,没有任何操作系统和类似的东西。 因为我知道Windows和Mac以及几乎任何东西,甚至DOS都是用C,C ++ Pascal等编写的,所以我想我应该知道其中一种语言,但为此我需要一个程序,我可以编写代码,还有编译它但没有操作系统和程序如何才能完成? 他们怎么能这样做? 但这还不够,C怎么写的? 在什么? 因此,当我的意思是划痕时,我的意思是,从基础构建一切。 也许从0,1,0,1现在我认为这是确切的起点。 但是我怎么能这样做,我应该拥有什么以及我应该从哪里开始呢? 谢谢你的每一个答案!

人们如何创建新的编程语言?

我是新手程序员,学习C. 总是让我感到困惑的是人们如何创建新的编程语言? 子/相关问题: 他们用什么语言写的? 语言必须是高级语言和机器代码之间的语言吗? 创建编程语言的阶段/元素是什么?例如 – C或C ++(从我的基础研究中我已经意识到所有编程语言都需要编译器或解释器,但我并不真正理解这两者之间的区别) 正如我所说,我是一个完整的新手,但我对编程非常感兴趣,并且真的想了解更多。 我就像一个真正的垃圾网球运动员,想要了解网球的一切! 我在Google上搜索过它,但无法得到满意的答案。