Fork me on GitHub
摘要: 被忽略的过程 对于C这种编译性语言,我们平时编译时,不管是通过IDE图形界面,还是通过命令行,总感觉编译一下就完成了,然后就得到了针对某OS和某CPU的二进制可执行文件(机器指令的文件)。但是实际上在源码到可执行文件中间隐藏了四个过程,这四个过程被OS默默的处理了。 编译四个过程:预处理、编译、汇编 阅读全文
posted @ 2018-07-31 16:11 克拉默与矩阵 阅读(5656) 评论(3) 推荐(7) 编辑
摘要: 转自:交互式shell脚本对话框 whiptail指令 当你在linux环境下setup软件的时候就会有相应的对话框让你输入。虽然我们已经习惯了这种交互的方法,但是如果有一种直观的界面来输入是不是会更加友好和方便呢,在shell脚本中你可以使用-whiptail指令来完成。 消息框 语法: 1 wh 阅读全文
posted @ 2019-05-11 11:13 克拉默与矩阵 阅读(5065) 评论(0) 推荐(0) 编辑
摘要: 转自:https://blog.csdn.net/rosetta/article/details/8933200 64KB-4GB-64TB? 我记得大学的汇编课程,组成原理课里老师讲过实模式和保护模式的区别,在很多书本上也有谈及,无奈本人理解和感悟能力实在太差,在很长一段时间里都没真正的明白它们的 阅读全文
posted @ 2019-03-18 23:10 克拉默与矩阵 阅读(6209) 评论(1) 推荐(3) 编辑
摘要: 参考: 下载合适的XDebug 点击这里,选择合适xdebug XAMPP配置 php_xdebug-xxxx.dll 拷贝dll至 D:\XAMPP\php\ext php.ini 文末追加 Stop/Start Apache 检查xdebug是否安装成功 方法1:运行 http://localh 阅读全文
posted @ 2019-02-23 22:35 克拉默与矩阵 阅读(653) 评论(0) 推荐(0) 编辑
摘要: Web服务器的基本操作如图下图所示: 这个系统由两个对象组成:一个Web浏览器和一个Web服务器。它们之间需要通信连接。Web浏览器向服务器发出请求、服务器返回一个响应。这种架构非常适合服务器发布静态页面。而分发一个基于数据库的网站架构则要复杂一些。 一个典型的Web数据库事务包含下列步骤,这些步骤 阅读全文
posted @ 2019-02-22 16:37 克拉默与矩阵 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: 特性 1. PHP是一种服务器端解释的脚本语言,它是目前最流行的Web编程脚本语言之一。 2. PHP可以产生动态网页。 3. PHP可以和HTML脚本融合在一起,并且对于许多数据库系统来说,PHP都具有针对它们的内置连接。 4. PHP具有大量可供开发Web应用程序时使用的可扩展函数库。 竞争对手 阅读全文
posted @ 2019-02-20 22:35 克拉默与矩阵 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 前言 Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。越是大规模的代码,越能显示出SI的强大之处。Linux服务器开发领域,很多时候代码往 阅读全文
posted @ 2019-01-11 13:50 克拉默与矩阵 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 简介 ini文件则是一些系统或者软件的配置文件,iniparser是免费、独立的INI解析器,Github地址(也是主要更新地址)请点击这个,官网上的tarball版本比较老,主要是为了保留之前的distribution scripts。iniparser官方帮助文档参考这个 阅读全文
posted @ 2019-01-09 15:15 克拉默与矩阵 阅读(823) 评论(0) 推荐(0) 编辑
摘要: 实验环境 Linux Windows 实验过程 Linux端安装samba服务 未完待续。。。。后面研究完NFS、SMB后再来弄samba X Windows下安装配置samba 参考 阅读全文
posted @ 2019-01-06 22:27 克拉默与矩阵 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 转自:玩转Google开源C++单元测试框架Google Test系列(gtest)之七 - 深入解析gtest 一、前言 “深入解析”对我来说的确有些难度,所以我尽量将我学习到和观察到的gtest内部实现介绍给大家。本文算是抛砖引玉吧,只能是对gtest的整体结构的一些介绍,想要了解更多细节最好的 阅读全文
posted @ 2019-01-06 19:21 克拉默与矩阵 阅读(2247) 评论(0) 推荐(0) 编辑
摘要: 转自:玩转Google开源C++单元测试框架Google Test系列(gtest)之五 - 死亡测试 一、前言 “死亡测试”名字比较恐怖,这里的“死亡”指的的是程序的崩溃。通常在测试过程中,我们需要考虑各种各样的输入,有的输入可能直接导致程序崩溃,这时我们就需要检查程序是否按照预期的方式挂掉,这也 阅读全文
posted @ 2019-01-06 19:19 克拉默与矩阵 阅读(4536) 评论(0) 推荐(0) 编辑
摘要: 转自:玩转Google开源C++单元测试框架Google Test系列(gtest)之四 - 参数化 一、前言 在设计测试案例时,经常需要考虑给被测函数传入不同的值的情况。我们之前的做法通常是写一个通用方法,然后编写在测试案例调用它。即使使用了通用方法,这样的工作也是有很多重复性的,程序员都懒,都希 阅读全文
posted @ 2019-01-06 19:17 克拉默与矩阵 阅读(1841) 评论(0) 推荐(0) 编辑
摘要: 前言 有时候在测试的时候,我们会在测试前做一些初始化活动,和测试后做一些清理工作,gtest提供了多种事件机制,非常方便我们在案例之前或之后做一些操作。总结一下gtest的事件一共有3种: 接下来按照倒叙3→2→1介绍如何使用事件机制 TestCase事件 TestCase事件是挂在每个案例执行前后 阅读全文
posted @ 2019-01-06 19:14 克拉默与矩阵 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 参考:使用Visual Studio 2017作为Linux C++开发工具 前言 最近在学Gtest单元测试框架,由于平时都是使用Source Insight写代码,遇到问题自己还是要到Linux下gdb调试,还是没有Visual Studio下调试工具那么直观。VS很强大,但是那毕竟是给MS家族 阅读全文
posted @ 2019-01-03 17:03 克拉默与矩阵 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 简介 WSL,是Windows Subsystem for Linux的缩写,字面意义上理解就是WIndows下的Linux子系统。WSL 由Microsoft Windows内核团队创建,目前如果最为学习Linux使用的化已经支持的相当好了。WSL现已被集成到WIndows 10中,如果想要使用该 阅读全文
posted @ 2019-01-02 23:44 克拉默与矩阵 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 参考:Process-oriented vs. Object-oriented 前言 软件行业在采用OO的思想后,从一开始只对编码使用OO,到现在“分析-设计-编码”全部环节使用OO,形成了OOA、OOD、OOP。作为Programmer,只知道根据设计编码,但是设计如何指导编码,设计又是怎么开来的 阅读全文
posted @ 2018-12-30 15:17 克拉默与矩阵 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 前言 面向过程 还是 面向对象?这不仅仅是个软件工程术语,其问题甚至可以追溯到亚里士多德:您把这个世界视为过程还是对象? 回归到现今的软件行业,这不仅仅是个某个具体编程技术问题,更是认识论问题。 认识论 vs. 工具 UML创始人之一的Grady Booch在2004年IBM Developer W 阅读全文
posted @ 2018-12-28 09:46 克拉默与矩阵 阅读(866) 评论(0) 推荐(1) 编辑
摘要: 简易软件开发流程 实践中,use case and description、class diagram与sequence diagram三者搭配,几乎是UML项目的基本类型,所以在分工或外包的设计文档中,通常少不了这三款UML图。常见的开发程序是并行建构use case、description与cl 阅读全文
posted @ 2018-12-27 17:31 克拉默与矩阵 阅读(3111) 评论(0) 推荐(0) 编辑
摘要: 前言 先看一段代码 代码本身逻辑很简单,无外乎简单的找出两个T类型变量中大者。 这里有几个关键字的用法很值得深究,特此记录下感想。 inline 简单的理解inline就是,他只有带参宏的优点,没有带参宏的缺点。但实际情况,这可能仅仅是Programmer的一厢情愿。因为啥? inline和regi 阅读全文
posted @ 2018-12-25 13:22 克拉默与矩阵 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 视频参考:Google C++ Testing GTest GMock Framework 为什么要使用 Google C++ Testing Framework? 使用这个框架有许多好理由。本文讨论其中几个。 某些类型的测试有糟糕的内存问题,这些问题只在某几次运行期间出现。Google 的测试框架 阅读全文
posted @ 2018-12-22 15:57 克拉默与矩阵 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 参考:Programming Terms: Closures - How to Use Them and Why They Are Useful 阅读全文
posted @ 2018-12-21 11:39 克拉默与矩阵 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 简介 uname用于输出系统信息. uname参数 -a :所有系统相关的资讯,包括底下的数据都会被列出来;-s :系统核心名称-r :核心的版本-m :本系统的硬件名称,例如 i686 或 x86_64 等;-p :CPU 的类型,与 -m 类似,只是显示的是 CPU 的类型!-i :硬件的平台 阅读全文
posted @ 2018-12-20 20:31 克拉默与矩阵 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 参考:The Best Keyboard Shortcuts for Bash (aka the Linux and macOS Terminal) Navigating Bash History with Ctrl+R Ctrl+P 上一条命令 Ctrl+N 下一条命令 阅读全文
posted @ 2018-12-20 15:28 克拉默与矩阵 阅读(139) 评论(0) 推荐(0) 编辑
摘要: What is the use of Sysfs sysfs is a pseudo file system provided by the Linux kernel that exports information about various kernel subsystems, hardware 阅读全文
posted @ 2018-12-19 23:46 克拉默与矩阵 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 前言 由于引入了LVM、RAID技术,导致OS时别到的磁盘已经不单纯是事实意义上的物理磁盘(虽然OS认为他是物理盘)。传统文件系统与分区可以认为是1:1关系,但是现在一个分区可以有多个FS,一个FS也可以在多个分区。虽然问题变得复杂了,但是有一个根本问题自始至终都没有改变,那就是挂载点(mount 阅读全文
posted @ 2018-12-19 23:08 克拉默与矩阵 阅读(1405) 评论(0) 推荐(0) 编辑
摘要: 参考:LFS7.10——准备Host系统 LFS7.10——构造临时Linux系统 本文正式开始构建LFS系统,后面所有命令的执行都是在root用户下完成的。 这时开始构建LFS前准备工作 更改$LFS/tools属主 chown -R root:root $LFS/tools 准备Virtual 阅读全文
posted @ 2018-12-18 22:17 克拉默与矩阵 阅读(956) 评论(0) 推荐(0) 编辑
摘要: 参考:linux 技巧:使用 screen 管理你的远程会话 How to use GNU screen - the terminal multiplexer - linux 阅读全文
posted @ 2018-12-17 00:15 克拉默与矩阵 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 简介 ACL是Access Control List的缩写,传统的Linux权限只能针对一个用户、一个群组及非此群组的其他人设置权限而已,无法针对单一用户或个人来设计权限。ACL可以对权限进行更细致的设定。一开始是unix-like操作系统的额外支持项目,近年来ACL几乎已经默认加入在所有常见的Li 阅读全文
posted @ 2018-12-16 21:19 克拉默与矩阵 阅读(1177) 评论(0) 推荐(0) 编辑
摘要: groups用于查询当前用户的属组,没有参数。 阅读全文
posted @ 2018-12-16 20:13 克拉默与矩阵 阅读(851) 评论(0) 推荐(0) 编辑
摘要: gdisk、fdisk MBR分区表请使用fdisk分区,GPT分区表请使用gdisk分区 MBR与GPT区别参考:Linux磁盘管理——MBR 与 GPT gdisk、gdisk这两个命令参数不需要特殊记忆,进入命令后分别按? m会提示下一步如何操作。 分区个数限制 SATA盘最多支持到15号(0 阅读全文
posted @ 2018-12-16 17:39 克拉默与矩阵 阅读(1268) 评论(0) 推荐(0) 编辑
摘要: 参考:8 Linux ‘Parted’ Commands to Create, Resize and Rescue Disk Partitions 简介 parted是磁盘分区操作工具,支持多种磁盘分区格式,包括MS-DOS、GPT等等 阅读全文
posted @ 2018-12-16 17:27 克拉默与矩阵 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 简介 blkid用于查看块设备UUID、Label、挂载、文件系统类型等信息 选项参数 无参数——显示所有已挂载分区信息 查看特定分区 -s:指定输出信息(UUID、TYPE、LABEL、PTTYPE等) -o:指定输出格式(full、value、list、device、udev、export) f 阅读全文
posted @ 2018-12-16 17:11 克拉默与矩阵 阅读(3291) 评论(0) 推荐(0) 编辑
摘要: 简介 chattr用于设置文件隐藏属性,lsattr用于查看文件隐藏属性。隐藏属性对系统很有用,尤其是系统安全这一块。但是这两个命令只能在Ext2/Ext3上面有用,其他文件系统可能不支持。 chattr 选项与参数 + :添加某一个特殊参数,其他原本存在参数则不动。- :移除某一个特殊参数,其他原 阅读全文
posted @ 2018-12-16 14:54 克拉默与矩阵 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 参考:Linux OD Command Tutorial for Beginners (6 Examples) 简介 查看普通文本文件,可以使用cat、head、tail、tac、less、more等等。如果查看二进制文件,还是用这些命令就会显示乱码,这时候可以使用od 选项与参数 -t :后面可以 阅读全文
posted @ 2018-12-16 14:44 克拉默与矩阵 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 简介 这2个命令多用于shell脚本 用法 basename filename_will_full_path dirname filename_will_full_path 对于但后缀的情况,basename将后缀作为第二册参数,可以使返回的文件名不带后缀。 阅读全文
posted @ 2018-12-16 14:27 克拉默与矩阵 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: 简介 这三个命令都用于更改文件permission(权限)。即下图红框位置 除此之外还有个“连结”,那个指的是硬链接,不是软连接。FS使用inode区分不同文件,而目录树使用文件名区分不同文件,因此可能有多个文件硬连接到相同文件。 如下图,c.txt时a.txt的硬链接,他们俩有相同的inode 修 阅读全文
posted @ 2018-12-16 14:07 克拉默与矩阵 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 参考:Linux pidof Command Examples To Find PID of A Program/Command Linux pidof Command Tutorial for Beginners (5 Examples) 简介 pidof用于找出包含指定名字进程的pid信息 使用 阅读全文
posted @ 2018-12-15 23:33 克拉默与矩阵 阅读(1028) 评论(0) 推荐(0) 编辑
摘要: LFS推荐的软件安装方面文章,将源码安装,二进制安装描述的及其详细,同时也介绍了源码安装相关技术 Building and Installing Software Packages for Linux Beginner's Guide to Installing from Source Linux下 阅读全文
posted @ 2018-12-15 22:11 克拉默与矩阵 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 参考:What is the mknod command used for? 前言 Linux下面,一切皆文件,当然也包括设备。Linux通过major、minor号来区分不同设备,如下图 阅读全文
posted @ 2018-12-14 22:52 克拉默与矩阵 阅读(1348) 评论(0) 推荐(0) 编辑
摘要: 参考:Bash基础——工作管理(Job control) jobs -l :除了列出 job number 与命令串之外,同时列出 PID 的号码; -r :仅列出正在背景 run 的工作;-s :仅列出正在背景当中暂停 (stop) 的工作。 fg %jobnumber :jobnumber 为工 阅读全文
posted @ 2018-12-14 22:29 克拉默与矩阵 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 参考:Linux lsblk Command Tutorial for Beginners (8 Examples) 简介 lsblk可以看成是“List block device”的缩写,即列为出所有存储设备。 选项参数 无参数 列出本系统下所有磁盘,磁盘内分区情况。 目前的系统主要有个sr0以及 阅读全文
posted @ 2018-12-14 15:47 克拉默与矩阵 阅读(3615) 评论(3) 推荐(0) 编辑