进行中
码龄12年
求更新 关注
提问 私信
  • 博客:57,024
    社区:11,114
    68,138
    总访问量
  • 28
    原创
  • 4
    粉丝
  • 4
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
加入CSDN时间: 2013-03-12
博客简介:

jasonsungblog的专栏

查看详细资料
个人成就
  • 获得3次点赞
  • 内容获得2次评论
  • 获得17次收藏
  • 博客总排名1,903,728名
创作历程
  • 7篇
    2015年
  • 7篇
    2014年
  • 39篇
    2013年
成就勋章
TA的专栏
  • linux
    16篇
  • 笔试&&面试题
    2篇
  • TCP/IP协议
    5篇
  • C语言
    5篇
  • 数据结构
    2篇
  • C++
    1篇
  • 分布式系统
    1篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

linux用户程序调用栈打印backtrace

在调试程序的时候,有时候程序跑到一个分支不知道怎么调用到的/在走到不应该走的分支后希望把整个调用栈打印出现,在linux用户程序里面有一个glibc库函数backtrace可以打印出当前进程栈信息:int backtrace(void **buffer, int size);该函数用于获取当前现场的调用堆栈。函数返回值是指针数组中指针的个数,buffer是用来存放指针的指针数组,size是
原创
发布博客 2015.10.14 ·
5519 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

虚拟机网络调试

今天要在虚拟机要用yum安装软件,发现一直安装失败,Temporary failure in name resolution网上查询发现是DNS配置错误导致域名解析错误(网址-->ip地址)。然后在虚拟机中ping www.baidu.com,unknown  host,还是DNS有问题!!!换了几个DNS还是同样问题,然后在宿主机上ping www.baidu.com,是可以
原创
发布博客 2015.10.12 ·
1053 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C++中的多态和派生继承

本文分别节选转自:http://blog.csdn.net/w3031213101/article/details/5420486http://www.cnblogs.com/fzhe/archive/2012/12/25/2832250.html1.C++中的多态是通过虚函数实现的,即在函数的前面加virtual;虚函数的主要作用是通过基类访问派生类的东西。virtual
转载
发布博客 2015.10.11 ·
1642 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C语言全局变量初始化、数据类型长度

今天在工作中遇到两个问题,记录下来:1. 定义了一个全局变量,然后初始化,编译的时候编译不通过。如下:int a;a = 5;编译的时候一直报错,且说下面的a没有定义类型,默认类似是int。后面才发现全局变量不能再全局初始化,要初始化则在定义的时候初始化,如下:int a=5;不能再全局初始化的原因是:全局初始化语句在开始运行的时候初始化,如果一个变量在全局有两次初始化
原创
发布博客 2015.10.11 ·
607 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式CAP理论的理解.

分布式系统:部署在不同的节点,通过网络通信实现协同工作。CAP理解:C:Consistency, all nodes see the same data at the same time;强一致性就是在客户端任何时候看到各节点的数据都是一致的。A:Availability, reads and writes always succeed;高可用性就是在任何时候都可以读写。P:Par
原创
发布博客 2015.10.10 ·
2026 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

线程死锁

死锁栈信息:__lll_lock_wait() from_L_lock_1008pthread_mutex_lock()死锁可能情况有两种:1、自己持有锁再去获取锁2、两个线程分别持有锁再去获取另一把锁解决方法步骤:1、查看所有加锁的地方是否释放锁,防止低级错误2、查看持有锁后的流程,是否加锁了再去获取锁,特别是有回调函数的时候。可能被忽略。 gdb调试死锁
原创
发布博客 2015.08.11 ·
1956 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

gcc 编译报错

昨晚编译代码,发现报莫名其妙的错误,一些框架定义的东西都不能用,说是没定义,例如:expected specifier-qualifier-list before u32 ,这里意思u32不是一个定义的数据类型。然后不知所措,也在网上找了一些资料,例如:1.头文件没有加#引用,导致出现  include 类似的情况会报错2.有函数定义后面加了; 例如 void  prinf(int
原创
发布博客 2015.08.11 ·
1314 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux核内外通信——ioctl

ioctl可以通过对内核设备的控制达到核内外通信的目的,即在用户态控制内核动作。从ioctl这个名称上看,本意是针对I/O设备进行的控制操作,但实际并不限制是真正的I/O设备,可以是任何一个内核设备即可。    使用ioctl通信一般是通过字符设备实现的。所以首先要向内核注册一个字符设备,设置字符设备属性:STATIC struct miscdevice test_char_dev={
原创
发布博客 2014.08.10 ·
1189 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

非阻塞socket编程

socket编程中可能出现阻塞的情况有
原创
发布博客 2014.08.06 ·
799 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux 等待队列

内核中为每个CPU分配了不同的进程链表:
原创
发布博客 2014.06.15 ·
530 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于linux内存的管理

最近又稍微看了linux内存的管理,又稍微有一点shou
原创
发布博客 2014.06.14 ·
533 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

socket基础编程

MiibotreeFun Coding Life目录视图摘要视图订阅2014开源技术大会(读书汇)      OpenStack企业应用之路浅析      专访多信创始人胡泊:将二维码包装成产品 让物体开口说话 linux socket编程之TCP与UDP分类: linux2012-02
转载
发布博客 2014.04.06 ·
666 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux文件操作函数

linux常见文件及目录操作函数  1、open原型:#include sys/types.h>#include sys/stat.h>#include fcntl.h>int open(const char *pathname, int flags);作用:用flags指定的操作打开pathname指定的文件。成
转载
发布博客 2014.02.28 ·
599 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

内核缓冲区slab的管理

刚了下Linux内核情景分析中的内核缓冲区管理,做个小总结。在Linux内核中,对于大块的内存的管理是用伙伴系统算法(buddy )管理。对于小块的内存则用slab管理。在slab方法中,每种重要的数据结构都有自己专用的缓冲区队列。每个队列中的“对象”的个数是动态变化的,不够时可以增添,空闲的时候可以释放,给系统回收。slab中,每种对象的缓冲区队列并非由各种各个对象直接构成,而是由一
原创
发布博客 2014.02.23 ·
1031 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Linux 网络编程——select

select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。文件在句柄在Linux里很多,如果你man某个函数,在函数返回值部分说到成功后有一个文件句柄被创建的都是的,如man socket可以看到“On success, a file descriptor for
转载
发布博客 2013.11.24 ·
591 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux 应用程序多线程编程

#include        int pthread_create(pthread_t *restrict thread,              const pthread_attr_t *restrict attr,              void *(*start_routine)(void*), void *restrict arg);、创建线程,其中:th
原创
发布博客 2013.11.24 ·
1034 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

TCP长连接与短连接的区别

1. TCP连接当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的经典的三次握手示意图:经典的四次握手关闭图:2. TCP短连接我们模
转载
发布博客 2013.10.29 ·
481 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

lldp(链路层发现协议)

LLDP(Link Layer Discovery Protocol,链路层发现协议,ieee802.1ab):它提供了一种标准的链路层发现方式,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/Value,类型/长度/值),并封装在LLDPDU(Link Layer Discovery Protocol Data Unit,链路层发现协
原创
发布博客 2013.10.29 ·
5729 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

linux僵尸进程

比较形象的比喻:进程在退出后就立刻变成了僵尸,然后等父进程收尸;如果这时它的父进程已经死了,也就是说这个进程是个孤儿,也没问题,它的父进程临死前”托孤“的init进程,也就是它的养父,会帮它收尸。如果这里它的父进程还没死,就要看这个父进程在做什么了?如果这个父进程对正在调用wait或waitpid操作,则表示这个父进程有准备棺材纸钱,这个 进程就可以入土为安了。或者这个父进程设置了SI
原创
发布博客 2013.10.28 ·
657 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux下core文件调试方法

在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 (1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 (2)使用ulimit -c filesize命令,可以限
原创
发布博客 2013.10.28 ·
517 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多