#指针

C's Biggest Mistake(www.digitalmars.com)
2021-6-20 23:12
C可以说是世界上最成功的编程语言。当然,它的成功有 无休止地诱惑人们改善它。因此,C可能是族长 最长的语言列表。值得注意的是C ++,D编程语言, 最近,最近。有无限的讨论线程如何修复c,继续 回到80年代。 所以这是一个很好的地面。什么可能被添加到这汤?我是 大多数此类讨论围绕细节。更有趣是什么 最大的基本错误......
2021-4-19 22:11
这个概念在#9097中得到解决,这是连同关闭的。而不是重新打开,让我采取另一种方法。 当& s {}被添加到语言中作为一种方法来构建指向综合文字的指针,它就没有感受到我。分配是半隐藏的,神奇的。但我已经习惯了,当然现在经常使用它。 但它仍然困扰着我一些,因为它是一个特殊的案例。为什么它只适用于复合文字?有......
2021-3-20 23:36
1998年1998年由Dennis Ritchie从Comp.Lang.c中的说明非常流行,因为诺纳里亚的概念绝对悄然回到了标准。我已经逐字再现了它,但轻微地格式化了可读性。对于进一步阅读,请尝试Linus Torvalds(Pre-Well)注释,John Reger关于别名的论文以及C 2X标准的这一提议。 ......
Pointer Pointer(pointerpointer.com)
2020-12-11 17:53
当我们找到您的指针时,请保持不动...
2020-12-7 5:42
在2016年TED的一次采访中(14:10),Linus Torvalds谈到了他认为编码方面的良好品味。作为一个示例,他提出了单链接列表中项目删除的两种实现方式(如下所示)。为了从列表中删除第一项,其中一种实现需要特殊情况,而另一种则不需要。显然,Linus更喜欢后者。 [...]我不想让您理解为什么它没有if......
Having Fun with Signal Handlers(www.giovannimascellani.eu)
2020-11-23 0:58
正如每个C和C ++程序员所了解的那样,如果您取消引用指向进程内存中映射空间之外的指针,则会出现分段错误,并且程序将崩溃。就语言本身而言,您没有第二次机会,也无法提前知道该取消引用操作是否会引爆炸弹。用技术术语来说,您正在调用未定义的行为,因此绝对不要这样做:您有责任事先知道指针是否有效,如果指针不正确,则必须保留这......
2020-9-17 5:57
就在最近,拉尔夫·荣格在2018年发表了一篇题为“指针很复杂”的帖子。中心论点是,大多数C(和汇编语言)程序员认为指针只是一个恰好是机器地址的整数的模型是错误的,事实上,作者直截了当地指出:指针绝对不是整数。这是一个强有力的论断。我喜欢强有力的声明,因为它们使讨论成为可能。因此,让我们以同样的方式回应:认为指针绝对不......
2020-9-15 21:46
就在最近,拉尔夫·荣格在2018年发表了一篇题为“指针很复杂”的帖子。中心论点是,大多数C(和汇编语言)程序员认为指针只是一个恰好是机器地址的整数的模型是错误的,事实上,作者直截了当地指出:指针绝对不是整数。这是一个强有力的论断。我喜欢强有力的声明,因为它们使讨论成为可能。因此,让我们以同样的方式回应:认为指针绝对不......
2020-9-15 17:56
本文档附带一个附带的示例程序,可作为一个文件或多个文件(压缩)使用。 此变量会占用一些内存。在当前主流的Intel处理器上,它占用4字节的内存(因为int是4字节宽)。 Foo_ptr被声明为指向int的指针。我们已将其初始化为指向foo。 正如我所说的,foo占用了一些内存。它在内存中的位置称为它的地址。&;......
2020-9-5 13:19
今年夏天,我再次全职研究Rust,并将再次为Rust/MIR开发一个“内存模型”(以及其他内容)。但是,在我可以谈论今年的想法之前,我必须花点时间消除“指针很简单:它们只是整数”的迷思。这两种说法都是错误的,至少在具有不安全特性的语言中是错误的,如Rust或C:指针既不是简单的,也不是(仅仅)整数。 我还想定义内存模......
2020-8-11 3:47
在MS-DOS和16位Windows编程中,您必须处理内存模型。这个术语不是指处理器体系结构内存模型(处理器如何与内存交互),而是指程序如何在内部组织自身。操作系统本身对应用程序内存模型一无所知;它只是讨论程序如何处理不同类型的代码和数据的一种便捷方式。 内存模型的术语来自C编译器,因为这会通知编译器要生成哪种类型的......
2020-7-7 5:42
这是系列文章中的最后一篇,也是最有趣的一篇。第1部分和第2部分重点介绍了Golang-Goroutines和几乎停顿的GC的两个关键特性。这篇帖子补充了所有缺失的部分。 但是,在如何实现所有这些功能方面,有更多的不同之处而不是相似之处。让我们跳到这些内容:)。 Go编译成本机二进制文件--也就是说,它的二进制文件“绑......
2020-6-17 18:52
指针是那些在您第一次了解它们时毫无意义的概念之一。通常,一个视角的改变就足以让你大脑中的某些东西发出咔哒声--呼!--一切都神奇地落到了它的位置上。 尽管它们名声不佳,但指针是极其强大的工具。此外,在某些语言(如C或GO)中,如果您想成为熟练的开发人员,理解它们是必须的。 让我们探索一下使用C编程语言的指针和几个非常......
2020-5-21 18:19
我们在Check Point Research工作的每个研究项目的目标之一是深入了解软件是如何工作的:它们包含哪些组件?他们脆弱吗?攻击者如何利用这些漏洞?更重要的是,我们如何防范此类攻击? 在我们最新的研究中,我们创建了一种名为“安全链接”的安全机制,以保护malloc()的单链表不被攻击者篡改。我们成功地向核心开......
2020-5-20 5:34
D 2.092.0中所有错误修复和增强的列表。CLI开关-REVERT=IMPORT和-TRANSION=CHECKIMPORTS已被删除,这些开关已不执行任何操作且已弃用一段时间。编译器将不再识别它们。 GNU ABI标签是GCC 5.1中用C++11添加的一个特性。为了让D完全支持标准C++库,DMD现在可以识别......