HackerRank 近日对约 4 万名开发者进行了调查,在2018 年开发者技能报告的调查结果。有趣的是,报告发现,虽然 Go、Kotlin 等新编程语言在所有开发者的想要学习的语言排名中靠前,但年
什么是编程语言?我总会问自己这个问题,SQL是吗?Excel是吗?HTML是吗?这些问题总在困扰着我,所以我把这些疑问整理成问卷的形式,向各位网友征集了大家的想法。 上图就是我们这
在科技驱动的世界,各行各业都在从根本上发展技术,业界领袖更是将其作为公司的重点。而这些技术的核心部分就是编程语言。国外一位技术爱好者 Ben 整理了一份最流行和最具影响
编程现在已经变成最受欢迎的职业之一,不像以前,编制软件只局限于少数几种编程语言。现在,我们有很多种编程语言可以选择。随着跨平台支持的增多,大多数编程语言都可以被用
本文将为你介绍机器人研发中使用的十大最流行编程语言。 进行人工智能机器人研发,应该选择哪种编程语言? 这个问题大多数新的机器人专家在他们的职业生涯中至少会思考一次。
有数据显示,目前物联网端口数量预计在200亿个左右。到2035年,这个数字会扩大到1万亿,平均每个人会拥有超过100台端口设备,它们将涉及穿戴、家居、交通、教育、通信等人类生活
以下为开发Linux调试器教程的相关章节,一共十二章,从最基础的讲起。如果你正在学习开发一个Linux调试器,那就从一至十的顺序阅读本教程。 教程目录 开发一个Linux调试器(一):
我们终于来到这个系列的最后一篇文章!这一次,我将对调试中的一些更高级的概念进行高层的概述:远程调试、共享库支持、表达式计算和多线程支持。这些想法实现起来比较复杂,
变量是偷偷摸摸的。有时,它们会很高兴地呆在寄存器中,但是一转头就会跑到堆栈中。为了优化,编译器可能会完全将它们从窗口中抛出。无论变量在内存中的如何移动,我们都需要
有时你需要知道的最重要的信息是什么,你当前的程序状态是如何到达那里的。有一个 backtrace 命令,它给你提供了程序当前的函数调用链。这篇文章将向你展示如何在 x86_64 上实现堆栈
在内存地址上设置断点虽然不错,但它并没有提供最方便用户的工具。我们希望能够在源代码行和函数入口地址上设置断点,以便我们可以在与代码相同的抽象级别中进行调试。 这篇文
在前几篇博文中我们学习了 DWARF 信息以及它如何使我们将机器码和上层源码联系起来。这一次我们通过为我们的调试器添加源码级逐步调试将该知识应用于实际。 系列文章索引 1. 准备
在上一部分我们学习了关于 DWARF 的信息,以及它如何被用于读取变量和将被执行的机器码与我们的高级语言的源码联系起来。在这一部分,我们将进入实践,实现一些我们调试器后面会
到目前为止,你已经偶尔听到了关于 dwarves、调试信息、一种无需解析就可以理解源码方式。今天我们会详细介绍源码级的调试信息,作为本指南后面部分使用它的准备。 系列文章索引
上一篇博文中我们给调试器添加了一个简单的地址断点。这次,我们将添加读写寄存器和内存的功能,这将使我们能够使用我们的程序计数器、观察状态和改变程序的行为。 系列文章索
在该系列的第一部分,我们写了一个小的进程启动器,作为我们调试器的基础。在这篇文章中,我们会学习在 x86 Linux 上断点是如何工作的,以及如何给我们工具添加设置断点的能力。
任何写过比 hello world 复杂一些的程序的人都应该使用过调试器(如果你还没有,那就停下手头的工作先学习一下吧)。但是,尽管这些工具已经得到了广泛的使用,却并没有太多的资源
距离安迪鲁宾和他的团队着手开发一个希望颠覆传统手机操作模式的操作系统已经过去 12 年了,这套系统有可能让手机或者智能机给消费者以及软件开发人员带来全新的体验。之前的智
想法来源 我一直在想,各种各样的博客每天到底都有多少页面浏览量,以及在博客阅读受众中最受欢迎的是什么编程语言。我也很感兴趣的是,它们在谷歌的网站排名是否与它们的受欢
引言 前面我们介绍过如何 在优麒麟和银河麒麟社区版上构建snap/flatpak包 ,今天我们来更深入的认识下flatpak。 Flatpak(前世为xdg-app) 是一种用于构建,分发,安装和运行应用程序的技术。
Snap和Flatpak是新一代的Linux打包格式,它们通过将软件和依赖同时安装在一个沙盒中,使得采用snap和flatpak的应用,可以跨越不同的发行版,降低了开发和维护成本,同时大大提高了系统
我研究过数百个因拷贝-粘贴导致的错误。可以肯定的是,程序员常常会在一大段代码的最后一段里犯错。好像还没有任何编程书讨论过这种现象,因此我决定自己写点什么。我称之为末
没有调试器的情况下编写程序时最糟糕的状况是什么?编译时跪着祈祷不要出错?用血祭召唤恶魔帮你运行程序?或者在每一行代码间添加printf(test)语句来定位错误点?如你所知,编写
简介Nemiver Nemiver 是一款基于 GTK+ 的用于C/C++程序的图形化的独立调试器,它以GDB作为其后端。最令人赞赏的是其速度和稳定性,Nemiver是一个非常可靠,具备许多优点的调试工具。 Nemi
你知道 NASA 顶级程序员如何编写关键任务代码么?为了确保代码更清楚、更安全、且更容易理解,NASA 的喷气推进实验室制定了 10 条编码规则。 NASA 的开发者是编程界最有挑战性的工作
你有没有这样的经历:别人审查过你的代码之后给出的注释,你认为是没有必要的?注释代码是为了提高代码的可读性,目的是为了能让其他人更容易理解你的代码。 我特别讨厌这5种
作为一个程序员,我知道我肯定会犯错误怎么可能不犯错!程序员也是人啊。有的错误能在编码过程中及时发现,而有些却得等到软件测试了才能显露出来。然而,还有一类错误并不能
这篇文章我已经构思了几个星期了,现在决定发表出来。一起分享编程的细节。 1.编码之前想一想 用10分钟,20分钟甚至30分钟的时间来想想你需要什么,想想什么样的设计模式(如果有
设备驱动是操作系统的一部分,它能够通过一些特定的编程接口便于硬件设备的使用,这样软件就可以控制并且运行那些设备了。因为每个驱动都对应不同的操作系统,所以你就需要不
错误1、函数的默认参数使用不当 Python允许我们为参数指定一个默认参数值,这是很好的特性。但是当默认参数是mutable类型时,就容易忽略下面的问题: def foo(bar=[]): # bar是一个默认参
Linux/Unix下的共享库扩展名为.so文件,和Windows的*.dll文件类似。共享库中一般包含通用的函数和类。当需要使用共享库中的功能时,它会被系统加载到内存中,它只会被加载一次。 对于
我是霖哥,一个因兴趣入行的商学院毕业的程序员。最近有不少人,来问我,想学编程,但是又不知怎么开始。所以,我想把我8年前影响我一生的10天自学编程的经历,毫无保留的分享
这是一篇关于 Linux Shell 脚本的初级学习文章。通过本系列文章希望帮助 Linux 初学用户快速开始上手编写 Shell 脚本,能够利索的对脚本进行测试和使用。 在接下来的首篇文章中,我们将