作者:kamly,腾讯 CDC 应用开发工程师 前言 正则表达式在我们日常的软件开发过程中被广泛使用,例如编写 Nginx 配置文件、在 Linux 与 macOS 下查找文件,然而不同软件不同操作系统对于正则的应用有着不一样的行为,主要原因是正则表达式演进过程中,出现 POSIX 与 PCRE 派系之分。 一、历史 先了解一下正则表达式的演进史。 20 世纪 40 年代,两位神经生理学家 Warren McCulloch 和 Walter Pitts,研究出了一种用数学方式来描述神经网络的方法,可
Snap是Canonical为使用Linux内核的操作系统开发的软件打包和部署系统。这些包(称为 snaps)和使用它们的工具 snapd 可在一系列 Linux 发行版中工作。
想着搭建一个 wiki,将自己本地的 md 都上传到服务器上,来实现远程办公,一切工作平板化,那自然是说干就干;
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤 一、基本信息 1、./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 2、make 是用来编译的,它从Makefile中读取指令,然后编译。 3、make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。 注意:AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。 二、详细解释 1、con
通过GDB等调试器,可以检查一个软件线程当前的函数调用关系(backtrace),也就是a调用b,b调用c,c调用d之类的。 当出现异常时,Linux kerenl会自动打印当前的函数调用关系(backtrace),为定位问题提供了不少信息。 在Linux应用程序中,也可以打印当前的函数调用关系(backtrace),GNU为此提供了backtrace ( )和backtrace_symbols( )。以前曾经测试过,发现没有生效,backtrace ( )返回0。 最近测试,发现backtrace ( )能返回大于0的数,说明工作正常。 另外,在编译器增加选项“-fno-omit-frame-pointer”,在连接器增加选项“-rdynamic”,可以打印出更多信息。
特别鸣谢:木芯工作室 孔子学鼓琴师襄子,十日不进。师襄子曰:“可以益矣。”孔子曰:“丘已习其曲矣,未得其数也。”有间,曰:“已习其数,可以益矣。”孔子曰:“丘未得其志也。”有间,曰:“已习其志,可以益矣。”孔子曰:“丘未得其为人也。”有间,有所穆然深思焉,有所怡然高望而远志焉。曰:“丘得其为人,黯然而黑,几然而长,眼如望羊,如王四国,非文王其谁能为此也!”师襄子辟席再拜,曰:“师盖云文王操也。”
这里选择LuaJit在嵌入式Linux系统使用,LuaJit交叉编译也比较简单,没有第三方库的依赖,直接交叉编译源码即可。
最近工作开发环境有Windows切换到了Ubuntu,以前在Windows环境下使用Genymotion搞Android开发还蛮好用的。那么在Ubuntu环境下桌面创建Genymotion虚拟机呢,今天搞搞试试看~!~!
摘要:程序员都知道,Linux 不是 Unix,不过二者之间确实存在关系,即 Linux 系统是从 Unix 派生出来的,而 Linux 是一个类 Unix 的操作系统。那么,二者之间具体存在哪些明显的差异呢?
Linux 与 Linux 内核其实是不一样的,关于这个问题,我在之前的一篇文章中讲过(《Linux,Unix,GNU 到底有什么样的渊源?》)。Linux 的内核是由 Linus Torvalds 在1991年首次编写。它是操作系统的核心,包括设备驱动、文件系统、进程管理、网络通信等。但是操作系统光有内核,用户是没有办法操作的,所以很多厂商和 Linux 社区就在内核之上开发了很多工具,比如我们常用的 GNome桌面,FireFox浏览器、GIMP 图片编辑器等等。Linux 内核和这些应用一起打包后就被称作 Linux 发行版本。Linux 有很多的发行版本,我在之前的文章中(《这么多Linux版本,你究竟该怎么选择?》),对不同的版本做过比较。
The GNU Compiler Collection,通常简称GCC,是一套由GNU开发的编译器集,为什么是编辑器集而不是编译器呢?那是因为它不仅支持C语言编译,还支持C++, Ada, Objective C等许多语言。另外GCC对硬件平台的支持,可以所无所不在,它不仅支持X86处理器架构, 还支持ARM, Motorola 68000, Motorola 8800, Atmel AVR, MIPS等处理器架构。
为了进一步强化大型主机的功能,让主机的资源可以提供更多的使用者来利用,所以在1964年, 由AT&A公司的贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE美国通用电气公司)共同发起了Multics(多路信息计算系统)的计划, Multics计划的目的是让大型主机可以同时支持300个以上的终端机连线使用。
可以使用uname -r 查看内核版本号,例如:2.6.32-754.2.1.el6.x86_64
Linux发行版本实在太多了,成千上万肯定是有的。但我们常用的其实主要就是少数几个发行版本,这样的发行版本,我把它称为“主流的Linux发行版本”。
“一个芬兰的大学小伙,因没有足够的钱购买UNIX,后面就决定自己做一个类似的操作系统,在1991年的时候,他凭个人之力发布了Linux内核的第一个版本“
本期的技术解码,为您解析 编程中,内存问题的分析与定位方法 对编程语言设计来说,内存管理分为两大类:手动内存管理(manual memory management) 和垃圾回收(garbage collection). 常见的如C、C++使用手动内存管理,Java使用垃圾回收。本文主要关注手动内存管理。 GC GC使内存管理自动化,缺点是引入了GC时不可预测的暂停(unpredictable stall),对实时性要求高的场景不适用。现代的GC实现一直朝着减小“stop-the-world"影
该文介绍了交叉编译工具链的使用,包括arm-linux-gnueabi-gcc、arm-linux-gnueabihf-gcc、arm-none-eabi-gcc、arm-none-linux-gnueabi-gcc、arm-none-linux-gnueabihf-gcc、qoriq-elf-gcc等工具的使用方法。
1)Windows 系统: 微软(Microsoft)自1985年推出Windows 1.0以来,Windows系统经历了十多年风风雨雨。从最初运行在DOS下的windows95操作系windows95操作系统Windows 3.x,到现在风靡全球的Windows 9x、Windows 2000、Windows XP、Windows 2003、Windows vista、Windows 2008 、Windows2012、Win 7、Win 8、Win8 or 8.1 、Win10。
当项目中引入了一些第三方或者开源库时,如果没有详细的文档说明,我们往往有种“盲人摸象”的感觉。如果只是简单的使用还好,但是这些代码需要被定制时,就需要深入阅读理解其实现。这个时候又往往有种“无从入手”的感觉。特别是对一些大型的项目,管理者往往需要划分出不同模块交由下属去理解,于是划分的依据是什么?如果没有一个总体统筹的认识,很多工作都无法开展下去。本文将探讨的工具将协助我们解决这些问题。(转载请指明出于breaksoftware的csdn博客)
[TOC] 0x00 前言简述 Q: 操作系统的全局代理? 答:我们常常听说网络代理例如Socket、Http代理,全局代理即系统所有的流量都是通过该代理通道进行通信, 然而这个还不能说是全称走代理
Linux下我们习惯了使用软件包管理器来安装我们需要的软件,比如Red Hat公司的Fedora、RHEL(Red Hat Enterprise Linux)和后来加入红帽的CentOS,使用rpm和yum来安装软件,Ubuntu使用apt-get来安装。 使用软件包管理器确实很方便,在联网的环境下,从下载到安装,以及自动关联软件的依赖项,并且一次安装所有依赖的软体包,为我们省去了很多繁琐的操作。这样确实很好,但是我们却失去了了解软件有哪些组成模块和依赖项的机会。下面我就要折腾一下,手动下载安装C++环境,摆托yum install gcc-c++ 这种傻瓜式操作。手动下载安装还有一个好处就是为不能联网的机器安装软件。有时候,确实要这样做。
刚开始学习docker命令的时候,很喜欢一个字一个字敲,因为这样会记住命令。后来熟悉了之后,每次想要做一些操作的时候就不得不 重复的输入以前的命令。当切换一个项目之后,又重复输入类似但又不完全相同的命令,仅仅通过history命令加速也有限。
转自:http://blog.csdn.net/yasi_xi/article/details/9899599
我电脑上没有任何盗版,无论是编程工具还是其它软件都是如此,我把它做为自我要求的一个基本。
之前写过一篇文章(那些年用过的开源项目(一)),列出了很多当年用过的开源项目。现在有这么多的开源项目可供我们选择,这要得益于当前非常积极的开源氛围,然而,尽管开源项目很多,我们在项目中选择的时候,一定要注意它的开源许可协议,否则可能会引起一些法律的问题。
这边文章不是一个如何引导,尽管它确实展示了如何编译和调试共享库和可执行文件。为了解动态加载的内部工作方式进行了优化。写这篇文章是为了消除我在该主题上的知识欠缺,以便成为一名更好的程序员。我希望它也能帮助您变得更好。
1) [root@SOR_SYS ~]# cat /proc/version Linux version 2.6.18-238.el5 (mockbuild@x86-012.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010 [root@SOR_SYS ~]#
libavahi-client-dev libavahi-common-dev libpulse-mainloop-glib0 libpulse0
近日,Sourceware、OpenSSF 和 SFC 三个自由开源软件社区陷入了某种奇妙的关系中。
Linux 内核非常庞大,我说的非常大并不是为了吓唬大家,确实是非常多的代码,超过 600 万行的代码,所以我写文章介绍 Linux 内核,也不可能每一行代码去分析,但是我会提炼其中的重点出来,告诉大家,Linux 内核的构成,包含哪些东西,我们不管学习什么,最关键的是学会其中的思想,但是我们如果什么都还不会的时候,可以学着由表透里,就像我打篮球一直不会后仰跳投,但是我可以把科比的研究一遍又一遍,总有一天我也能听到自己打铁的哐哐声。
image.png 一、计算机的发明 世上本无路,走的人多了,就有了路。世上本无计算机,琢磨的人多了……没有计算机,一切无从谈起。 三个人对计算机的发明功不可没,居功至伟。阿兰·图灵(Alan Mathison Turing)、阿塔那索夫(John Vincent Atanasoff)、和冯·诺依曼(John von Neumann)。 图灵从理论上证明了计算机的可行性;阿塔那索夫实践了图灵的理论;冯·诺依曼奠定了现代计算机的体系结构。 图灵说这玩意儿应该可以做,已经被证明了;阿塔那索夫二话不说动手就做了一
我们一般都听说过Windows,而一提到linux大部分人都很陌生,毕竟台式机、笔记本都是Windows操作系统。首先我们要知道 Linux 这玩意儿跟Windows是一样的都是在计算机上面运行的操作系统,所以说 Linux 就是一个操作系统。问题是Linux 可以在哪些种类的计算机上面运行呢?而 Linux 源自哪里?为什么Linux是免费的呢?这些我们都得来谈一谈先!
开源生态已经成为一种强大的存在,从语言,框架,工具到各种软件,开源的东西可谓应有尽有,一应俱全。
版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net/10km/article/details/83047021
访问wiki查看发行版本与内核版本对应关系:https://en.wikipedia.org/wiki/CentOS
与引用一个简单的版本号不同,识别 Linux 版本有很多种方法。即使只是快速查看一下 uname 命令的输出,也可以告诉你一些信息。这些信息是什么,它告诉你什么?
NoSQL,指的是非关系型的数据库。NoSQL 有时也称作 Not Only SQL(意即"不仅仅是SQL") 的缩写,其显著特点是不使用SQL作为查询语言,数据存储不需要特定的表格模式。
Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。
上午查阅 Rust 官网内部博客,看到 Rust 1.51.0 stable 预发布版本已经开放测试。正式发布版本定于 UTC 标准时 2021-03-25,北京时间估计要到本周五。
linux([ˈlɪnəks]) 是什么?🤔 咱们这次讲点什么呢?这次咱们讲讲这个 linux([ˈlɪnəks]),什么是 linux([ˈlɪnəks])呢?这linux([ˈlɪnəks])呀
提起 Linus Torvalds 大家的第一反应是怎样的?是严苛刻薄,还是神级伟大,亦或是孤傲清高?但是他也是“Linux之父”。二十五年来,Linus Torvalds 一直坚持在技术第一线,开发了 Linux 和 Git 两个项目,并深刻影响了软件行业。如果没有 Linux,就不会有基于 Linux 的安卓系统,那世界是怎样的?如果没有 Git 的诞生,就不会基于 Git 的 GitHub,那么开源的兴旺之势将会迟来多久?
1)创建目录/data/oldboy ,并且在该目录下创建文件oldboy.txt.然后在文件oldboy.txt里写入内容“
平时我们构建的 Docker 镜像通常比较大,占用大量的磁盘空间,随着容器的大规模部署,同样也会浪费宝贵的带宽资源。本文将介绍几种常用的方法来优化 Docker 镜像大小,这里我们使用 Docker Hub 官方上的 Redis 镜像进行说明。
写在前面:按照本意其实比较想写成“全平台记录”的,但是想了一下感觉自己大概还是没资格那样说,更何况还有最致命的一个问题——我手头没有mac且不会玩黑苹果,于是就emmm,起了这个名字。
领取专属 10元无门槛券
手把手带您无忧上云