首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

技术、艺术禅道《禅计算机程序设计艺术》 陈光剑

先秦庄周《庖丁解牛》 译文: 庖丁放下刀回答说:“我追求的,是道(本为虚词,无特定之意,可解成自然的规律),已经超过一般的技术了。...技术好的厨师每年更换一把刀,是用刀割断筋肉割坏的(就像我们用刀割绳子一样);技术一般的厨师每月就得更换一把刀,是砍断骨头而将刀砍坏的(因为不知道怎么砍,所以砍到骨头的时候就容易坏)。...工匠艺术家 艺术家和工匠一样,必须熟悉自己所用的材料和工具,必须有灵巧的双手去应和心灵的要求,是所谓“心灵手巧”。一名工匠自有熟练的手艺去把他心中预构的形式付诸材料。一个雕刻家看上去也是如此。...像生产手机、汽车、计算机,更多的是需要技术工匠。 而像设计一栋楼、发电机/电动机、设计制造计算机、架构设计软件系统、一个复杂组织等等,则需要技术和艺术的完美融合。 另外一个看问题的视角。...程序:对象之存在转变 Object o = new Object(); 通过上面这一行代码,我们就“创造”了一个对象(事物)。 哲学家,关注事物的存在和事物的转变。

37121

Linux shell 程序设计4——shell变量

3、shell变量赋值和c语言略有不同,shell赋值要求等号的两边不能出现空格,而在linux C 中,一般为了增强代码的可读性,等号的两边都加一个空格。.../bin/bash #This is an example to show how to use variables version="2.6.24" name="linux-headers-2.6.24..." echo -e "name:$name\nversion:$version" 执行结果: name:linux-headers-2.6.24 version:2.6.24 5、shell变量的作用范围是本...echo $os_name 命令,我们会得到: linux 6、有一种能继承给子shell的变量,称之为环境变量。...而如果在终端中使用命令: export a=linux 然后执行上述脚本,我们的到结果: linux 7、shell内置变量:bash设置了许多内置变量,在进行shell程序设计的时候可能需要用到。

1.7K60

Linux内核调试技术——kprobe使用实现

Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。...本文首先简单描述这3种探测技术的原理区别,然后主要围绕其中的kprobe技术进行分析并给出一个简单的实例介绍如何利用kprobe进行内核函数探测,最后分析kprobe的实现过程(jprobe和kretprobe...内核源码:Linux-4.1.15 实验环境:CentOS(x86_64)、树莓派1b 一、kprobes技术背景 开发人员在内核或者模块的调试过程中,往往会需要要知道其中的一些函数有无被调用、何时被调用...=,>,=,<=判断,并且支持&&,或||,还有()。...五、总结 kprobes内核探测技术作为一种内核代码的跟踪及调试手段,开发人员可以动态的跟踪内核函数的执行,相较传统的添加内核日志等调试手段,它具有操作简单,使用灵活,对原始代码破坏小等多方面优势。

5.4K21

Linux内核调试技术——kprobe使用实现

Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。...本文首先简单描述这3种探测技术的原理区别,然后主要围绕其中的kprobe技术进行分析并给出一个简单的实例介绍如何利用kprobe进行内核函数探测,最后分析kprobe的实现过程(jprobe和kretprobe...内核源码:Linux-4.1.15 实验环境:CentOS(x86_64)、树莓派1b 2022年嵌入式开发想进互联网大厂,你技术过硬吗?...腾讯T6-9首发“Linux内核源码嵌入式开发进阶笔记”,差距不止一点点哦 一、kprobes技术背景 开发人员在内核或者模块的调试过程中,往往会需要要知道其中的一些函数有无被调用、何时被调用、执行是否正确以及函数的入参和返回值是什么等等...=,>,=,<=判断,并且支持&&,或||,还有()。

2.3K30

Linux 程序设计1:深入浅出 Linux 共享内存

笔者最近在阅读Aerospike 论文时,发现了Aerospike是利用了Linux 共享内存机制来实现的存储索引快速重建的。这种方式比传统利用索引文件进行快速重启的方式大大提高了效率。...,但是其实无论是 System V 还是 POSIX 形式的共享内存,底层都是基于内存文件系统tmpfs实现的,二者的主要区别是在接口设计上,POSIX旨在提供所有系统都一致的接口,遵循了 Linux...2.共享内存的设置查看 使用共享内存,需要在系统层面进行一些设置。...这章需要介绍一些共享内存相关的设置,在 Linux 系统之中和共享内存有关的文件有: /proc/sys/kernel/shmmni:限制整个系统可创建共享内存段个数。...4.小结 到此为止,笔者展开聊了聊 Linux 共享内存的作用,并且对如何操作共享内存进行了介绍,同时希望大家能够在实际开发工作之后能够很好的掌握共享内存这个「利器」,让开发工作事倍功半~~

2.3K32

Linux内核调试技术——kprobe使用实现(一)

Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。...因此kprobes技术具有对内核执行流程影响小和操作方便的优点。 kprobes技术包括的3种探测手段分别时kprobe、jprobe和kretprobe。...kprobes的技术原理并不仅仅包含存软件的实现方案,它也需要硬件架构提供支持。...其中涉及硬件架构相关的是CPU的异常处理和单步调试技术,前者用于让程序的执行流程陷入到用户注册的回调函数中去,而后者则用于单步执行被探测点指令,因此并不是所有的架构均支持,目前kprobes技术已经支持多种架构...1.1、kprobe结构体API介绍 ? ?

3.5K21
领券