ctthuangcheng
码龄15年
关注
提问 私信
  • 博客:1,738,246
    社区:67
    1,738,313
    总访问量
  • 303
    原创
  • 暂无
    排名
  • 907
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2010-05-15
博客简介:

ctthuangcheng

博客描述:
自学成才。。。。加油!
查看详细资料
个人成就
  • 博客专家认证
  • 获得178次点赞
  • 内容获得66次评论
  • 获得700次收藏
  • 代码片获得207次分享
  • 博客总排名1,766,170名
创作历程
  • 3篇
    2017年
  • 13篇
    2016年
  • 15篇
    2015年
  • 97篇
    2014年
  • 526篇
    2013年
成就勋章
TA的专栏
  • Oracle database
    3篇
  • Linux OS
    126篇
  • C/C++
    74篇
  • STL
    8篇
  • network protocol stack
    32篇
  • Process and Thread
    86篇
  • GCC_GDB_makefile
    17篇
  • ipc
    26篇
  • memory
    9篇
  • MTD_Nandflash_Norflash
    2篇
  • Video
    15篇
  • Camera
    7篇
  • File System C
    7篇
  • Linux application programming
    9篇
  • UNP(API)
    125篇
  • Streaming Media
    2篇
  • project
  • Memory Management
    11篇
  • Debugging Technique
    23篇
  • linux kernel
    89篇
  • Boost
  • APUE
    75篇
  • C++ Primer
    20篇
  • Programming With POSIX Threads
    27篇
  • HTTP
    13篇
  • Effective C++
    6篇
  • More Effective C++
  • Wireshark
  • TCP/IP Illustrated
    9篇
  • ACE
    1篇
  • Design pattern
    1篇
  • linux 高性能服务器编程
    24篇
  • 深入理解Nginx
  • python
  • Linux cpu
    12篇
  • linux proc文件系统
    4篇
  • 性能优化
    16篇
创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

90人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

RFC792_ICMPO

发布资源 2013.04.09 ·
pdf

libpcap编程-编写自己的网络嗅探程序

发布资源 2013.04.09 ·
pdf

Linux 虚存 linux2.6内核特性

一、大型页面的支持    当代计算机体系结构大都支持多种页面大小,例如,IA-32体系结构支持4KB或4MB的页面, Linux操作系统只是将大型页面用于映射实际的内核映像。大型页面的使用主要是为了改进高性能计算(HPC)以及其他内存密集型应用的性能。任何占用大量虚存的访存密集型应用程序都可以使用大型页面来改进性能(Linux使用 2MB或 4MB的大型页面, AIX使用 16MB的大型页面,而
原创
博文更新于 2021.04.21 ·
1748 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

linux内核SMP负载均衡浅析

需求      在《linux进程调度浅析》一文中提到,在SMP(对称多处理器)环境下,每个CPU对应一个run_queue(可执行队列)。如果一个进程处于TASK_RUNNING状态(可执行状态),则它会被加入到其中一个run_queue(且同一时刻仅会被加入到一个run_queue),以便让调度程序安排它在这个run_queue对应的CPU上面运行。      一个CPU对应一个run
原创
博文更新于 2021.04.21 ·
4905 阅读 ·
4 点赞 ·
0 评论 ·
12 收藏

内存分析利器purify简介

1.内存问题的原因及分类在C/C++程序中,有关内存使用的问题是最难发现和解决的。这些问题可能导致程序莫名其妙地停止、崩溃,或者不断消耗内存直至资源耗尽。由于C/C++语言本身的特质和历史原因,程序员使用内存需要注意的事项较多,而且语言本身也不提供类似Java的垃圾清理机制。编程人员使用一定的工具来查找和调试内存相关问题是十分必要的。总的说来,与内存有关的问题可以分成两类:内存访问错误和内
转载
博文更新于 2013.04.10 ·
2035 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C/C++内存问题检查利器—Purify (五)

十、             设置WatchPoint你可以在你的程序中,对你所想监控的程序设置一些WatchPoint,以方便于你对程序进行调试,或更容易找出问题的原因。就像我前面说,Purify可以找到你的内存泄露,但其不能找到内存泄露的原因,你可以通过设置WatchPoint来跟踪一块内存,以找到在程序执行过程中该内存的访问情况。 Purify的WatchPoint可以产生下
转载
博文更新于 2013.04.10 ·
1335 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

POP3协议学习笔记

今日得闲,于是将POP3的学习笔记也整理出来!互联网上的TCP/IP,POP3/SMTP等资料多如牛毛,这里只是自己一点点心得,另外对于各位网络方面的大牛请安静的路过,我可不喜欢在关公面前耍大刀... (还是那句,我比较喜欢用实践来证明一切,这样才会加深自己的理解!) 一、准备工作:1、本机环境:Windows XP SP3、公司ADSL 10M光纤2、开发工具:WildPac
转载
博文更新于 2013.02.20 ·
1771 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

I帧,P帧,B帧

视频压缩中,每帧代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。 I帧表示关键帧,你可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)。 P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面
转载
博文更新于 2013.01.29 ·
1171 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

每CPU变量

最好的同步技术是把设计不需要同步的临界资源放在首位,这是一种思维方法,因为每一种显式的同步原语都有不容忽视的性能开销。最简单也是最重要的同步技术包括把内核变量或数据结构声明为每CPU变量(per-cpu variable)。每CPU变量主要是数据结构的数组,系统的每个CPU对应数组的一个元素。一个CPU不应该访问与其他CPU对应的数组元素,另外,它可以随意读或修改它自己的元素而不用担心出现竞争条件
转载
博文更新于 2014.12.28 ·
1196 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Connection Reset By Peer 解析

linux网络编程 Connection reset by peer错误服务器向客户端发送了数据,客户端没有接收就关闭了,服务器read就会发生Connection reset by peer错误。我试验了一下,确是如此。同学们遇到过这个问题吗?------解决方案--------------------------------------------------------客户端调用close(
转载
博文更新于 2014.06.06 ·
4147 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

记一个链接库导出函数被覆盖的问题

链接库的一个问题前些天遇到这样一个问题:libD.so需要用到libS.a提供的方法,于是静态链接了libS.a。而libS.a和libD.so又都会被可执行文件bin所链接。(因为libD.so还提供给其他可执行程序使用,所以链接libS.a是必须的。而libD.so对于bin来说是可选的,所以bin也必须链接libS.a。)这就形成下面一种情况:libD.so      |
原创
博文更新于 2013.05.12 ·
2263 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

posix多线程有感--线程高级编程(线程堆栈)

先来讲说线程内存相关的东西,主要有下面几条:进程中的所有的线程共享相同的地址空间。任何声明为static/extern的变量或者堆变量可以被进程内所有的线程读写。一个线程真正拥有的唯一私有储存是处理器寄存器。线程栈可以通过暴露栈地址的方式与其它线程进行共享。     有大数据量处理的应用中,有时我们有必要在栈空间分配一个大的内存块或者要分配很多小的内存块,但是线程的栈空间的最大值在
原创
博文更新于 2013.07.15 ·
2134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C/C++ -- 编程中的内存屏障(Memory Barriers) (1)

明天就要transfor去做检索引擎了,今天闲下来了,更新一下博客哈。之前 @高V 同学对本人之前《代码技巧及优化(c/c++)》的文章第六条,有关cache命中和cpu流水优化比较感兴趣,也提出了一些他的看法,今天,我就细化的说一下某些编程的点 -- 内存屏障,以及内存屏障对代码的影响。       OK,首先来说一下什么是"内存屏障",可以先看一下官方式的说法 http://www.ker
转载
博文更新于 2013.05.07 ·
1602 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux0.11内核--进程的结束

进程的结束结束一个进程,就是要释放该进程所有的结构和资源,让系统从此之后再也感觉不到它的存在。如前面所说的,一个进程的结构包括:task[]数组中一项,指向了该进程的task_struct和内核堆栈所在页面;GDT中两项,一项是TSS描述符,一项是LDT描述符;若干页目录项和若干页表。一个进程拥有的资源包括:进程拥有的所有物理页面(包括页表和ta
转载
博文更新于 2013.04.15 ·
1370 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

用GDB调试程序(五)

查看运行时数据———————        在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:        print     print /         是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),是输出的格式,比如,如果要把表达式按1
转载
博文更新于 2013.04.10 ·
1201 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

mke2fs 制作ext2文件系统image

方法1: 利用/dev/ram1:linux下有很多ram,我们用ram1,首先把ram1格式化成ext2文件系统[root@gucuiwen babylinux]#   sudo mkfs.ext2 -m0 /dev/ram1 将ram1挂装到文件系统中:先建立一个挂装点:#mkdir /mnt/ram挂上ram1:# sudo mount /dev/ram1 /mn
转载
博文更新于 2013.01.30 ·
4578 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UNIX网络编程——通过UNIX域套接字传递描述符和 sendmsg/recvmsg 函数

在前面我们介绍了UNIX域套接字编程,更重要的一点是UNIX域套接字可以在同一台主机上各进程之间传递文件描述符。       下面先来看两个函数:#include #include ssize_t sendmsg(int sockfd, const struct msghdr *msg, int flags);ssize_t recvmsg(int sockfd, struct msghdr
转载
博文更新于 2013.08.03 ·
2152 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

UNIX网络编程——非阻塞accept

当有一个已完成的连接准备好被accept时,select将作为可读描述符返回该连接的监听套接字。因此,如果我们使用select在某个监听套接字上等待一个外来连接,那就没有必要把监听套接字设置为非阻塞,这是因为如果select告诉我们该套接字上已有连接就绪,那么随后的accept调用不应该阻塞。      不幸的是,这里存在一个可能让我们掉入陷阱的定时问题。      为了查看这个问题,我们把TCP
原创
博文更新于 2013.07.26 ·
2387 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

UNIX环境高级编程——主线程与子线程的退出关系

我们在一个线程中经常会创建另外的新线程,如果主线程退出,会不会影响它所创建的新线程呢?下面就来讨论一下。
原创
博文更新于 2013.07.16 ·
1676 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

STL:vector容器用法详解

vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。    vector类常用的函数如下所示:    1.构造函数vector():创建一个空vectorvector(int nSize):创建一个vecto
转载
博文更新于 2013.07.09 ·
1875 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多