7 谁不小心的

尚未进行身份认证

一个默默耕耘,期待有所突破的程序员

等级
博文 342
排名 1k+

栈破坏下crash的分析方法

在众多的coredump中,有一类crash调试起来是最麻烦的,那就是“栈被破坏”导致的函数调用回溯结构破坏引发的coredump。本文,主要讲讲这一类crash的成因、原理以及调试方法。1.SMTC(showmethecode)首先,让我们来看一段代码#include<stdio.h>#include<string.h>voidfun(intn...

2019-02-13 10:30:57

从汇编视角看函数调用

C语言函数如下intbar(intc,intd){inte=c+d;returne;}intfoo(inta,intb){returnbar(a,b);}intmain(void){foo(2,5);return0;}让我们从汇编的角度跟踪函数的执行,main对应的汇编函数如下:Dumpofa

2017-08-03 18:49:20

laravel 简介

Laravel是一款基于MVC设计模式的PHP框架,提供了一系列便捷的API接口,包括数据库、路由、表单验证等等,使PHP开发更为快速和优雅,一言以蔽:Laravel为WEB艺术家而生!1.安装先保证你已经安装好了PHP,接下来,你可以直接参考官网的安装教程进行安装。如果遇到网络问题,上述安装教程无法成功安装,你也可以先下载PHP包管理工具composer.phar,用PHP命令行运行安装:php

2016-08-21 18:36:56

crond 简介[转]

0.cron简介工具是一个以系统服务的形式存在。通过/etc/rc.d/init.d或者/etc/init.d目录下的启动脚本crond来启动。也可能直接通过servicecrondstart命令来启动。cron会从如下这些地方读取安装的任务:1>./etc/anacrontab这个文件存着系统级的任务。它主要用来运行每日的(daily),每周的(weekly),每月的(m

2016-08-18 10:52:24

automake 使用指南

在构建大型的C/C++项目时,往往需要借助Makefile.然而手动编写makefile是相当复杂的,这一点在程序需要跨平台的时候表现地更为明显。在此背景下,我们需要借助于一些自动化的工具来生成Makefile和configure。本文主要介绍autoconf,automake等自动化工具,默认读者已经具备linuxshell脚本和makefile的基础知识。1.工具准备autoconf,

2015-10-28 10:12:21

linux svn命令使用简介

1.svnst–helpstatus(stat,st):显示工作副本中目录与文件的状态。用法:status[PATH…]未指定参数时,只显示本地修改的条目(没有网络访问)。使用-q时,只显示本地修改条目的摘要信息。使用-u时,增加工作版本和服务器上版本过期信息。使用-v时,显示每个条目的完整版本信息。问号表示不

2015-09-17 15:06:51

gcc指定头文件及动态链接库路径

在利用源代码进行软件编译的过程中,经常会出现以下错误:undefinedreferenceto‘crypt’libdl.so:erroraddingsymbols:DSOmissingfromcommandlineopenssl/rsa.h:nosuchfileordirectory这些都是软件编译、链接过程中找到不相关头文件或者动态链接库导致的。本文主要讲解

2015-09-16 11:27:04

C++中的类型转化

C++中的类型转换种类繁多,很容易出错。本文主要总结,在何种情形该使用什么类型转化。1.char*>>intatoichars[100];inti=atoi(s);sscanfintsscanf(constchar*str,constchar*format,…);sscanf(s,”%d”,&i);*stringstreamasfollows2

2015-09-16 09:49:45

C++中shared_ptr的使用

templateclassshared_ptr#include<memory>shared_ptr是C++11之后标准库引入的一个特性,用于简化内存管理,防止内存泄露。1.shared_ptr的作用是什么?Objectsofshared_ptrtypeshavetheabilityoftakingownershipofapointerandsharethato

2015-09-14 15:50:46

Docker Image Specification v1.0.0

DockerImageSpecificationv1.0.0AnImageisanorderedcollectionofrootfilesystemchangesandthecorrespondingexecutionparametersforusewithinacontainerruntime.Thisspecificationoutline

2015-03-31 15:29:48

go语言文件操作

1.os包中File类首先,file类是在os包中的,封装了底层的文件描述符和相关信息,同时封装了Read和Write的实现。typeFilestruct{*file}typefilestruct{fdintnamestringdirinfo*dirInfonepipeint}func(f*File)Fd()uin

2015-03-17 10:28:19

进程通信之linux信号机制

摘要:本文主要介绍,linux进程通信中的信号机制,介绍信号的本质与作用原理;重点讲解信号的处理流程,同时介绍了信号的安装\发送\阻塞等概念.

2015-03-17 09:56:10

僵尸进程

1.僵尸进程与孤儿进程僵尸进程:如果子进程先于父进程退出,此时子进程便成为一个尸体;此前,如果父进程没有调用wait等相关系统调用,那么子进程便成为僵尸进程.孤儿进程:如果父进程先于子进程退出,那么子进程变成为孤儿进程,将被init进程领养.2.进程相关数据结构进程控制块PCB:保留了进程运转时所需要的全部信息,是进程表中的一个entry.当以fork()系统调用建立一个新的进程后,核心进

2015-03-14 10:27:29

在ubuntu上搭建go编程环境(附带自动化部署脚本)

自2009年Go语言发布以来,我一直在关注Go语言,如今Go语言已经发展到1.2版本,而且也收到越来越多的人关注这门语言。Go语言设计的目的就是为了解决执行数度快但是编译数度并不理想(如C++)以及编译速度快但执行效率不佳(.NET、Java),或者开发难度低但执行速度一般的动态语言这一问题。所以说,Go语言的特点是:快速编译,高效执行,易于开发。好了,跳过那些框框条条的craps,让我

2014-10-28 15:58:51

C++ 中的比较函数

在写程序的时候,排序是一种和常用的

2014-10-14 20:21:40

C++ static关键字的几点说明

(1)类的静态成员函数是属于整个类而非类的对象,所以它没有this指针,这就导致了它仅能访问类的静态数据和静态成员函数。     (2)不能将静态成员函数定义为虚函数。     (3)由于静态成员声明于类中,操作于其外,所以对其取地址操作,就多少有些特殊,变量地址是指向其数据类型的指针,函数地址类型是一个“nonmember函数指针”。(4)由于静态成员函数没有t

2014-10-14 16:01:15

守护进程

本文,主要讲解守护进程的定义和相关的原理,并通过一个用户实例来说明如何编写守护进程。1.守护进程的撰写条件:1)D要在系统中处于一直运转的状态,也就是说while循环,时刻在监听服务2)D不能在关闭终端的时候退出——为什么终端关闭将导致进程退出呢?3)D要脱离控制终端,登录会话和进程组——注销的时候,为什么有的进程将被注销,而有的不会?2.相关原理Q

2014-10-14 14:47:55

标准输入的原理:cin与scanf

1.cin的处理方式1)如果cin读取整数,会自动忽略换行和空格;遇到文件结束标记,cin >>a返回的数false  inta;  while(cin>>a){     cout  }    return0;eg:1,2,31231a2a12注意:cin读取到'a'字符的时

2014-10-11 20:49:51

雅虎笔试题目——最大集合问题

摘要:sort函数在日常编程中,经常被用到;同时,对内存的初始化函数,经常用到fill,本节,我们以计算LIS为例讲解这两个函数的应用。例子:有一些老鼠,有x和y两个属性,现在要选择一个最大集合,其中从前到后,老鼠的x属性依次递减,y属性依次递增。分析:如果我们先按照x属性递减排列,那么形成一个数组,然后问题就转化为求解这个数组中y属性递增排列的最长字串,于是转化为一个动态规划问题

2014-09-28 15:24:12

使用priority_queue建立小顶推

template<classType,classContainer=vector,classCompare=less>classpriority_queue注意,priority_queue是一个模板类,它的定义形式如上;其中,它的每一个参数也是一个类,这里我们主要解释一下Compare参数。其中,Compare参数是一个

2014-09-26 23:37:10
奖章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!