C
文章平均质量分 63
TaoLR
程序员和司机一样,总是自我安慰说等到需要的时候再去学新技能也来得及。
展开
-
耗光内存的一段C
#include #include int main(void){ while(malloc(sizeof(int))); return 0;} malloc并不负责把分配的内存空间清零!需要free释放!malloc原理图:原创 2012-09-11 21:59:59 · 1252 阅读 · 0 评论 -
协程 [wiki]
本质上协程就是用户空间下的线程转载 2016-04-10 00:42:31 · 680 阅读 · 0 评论 -
管道 PIPE
没错,就讲大家可能天天会用的“管道 | “,前者的输出是后者的输入。大家忽略了的一个有趣的事实是,后者不用得到前者执行完毕才启动。更有趣的是,只要后者获取了足够的数据,前者便会停止执行。原创 2016-04-21 09:00:59 · 702 阅读 · 0 评论 -
ls大目录卡死
目前的一点点发现: ls -f 最快,源码中还没有找到ls的极限是多少.shell> touch {1..100000}.txtshell>time lsshell>time ls -fwhy?shell>time ls -U原创 2013-11-19 23:51:16 · 4421 阅读 · 2 评论 -
socket简单编程
server.c:从客户端读字符,然后将每个字符转换为大写并回送给客户端。/* server.c */#include #include #include #include #include #include #define MAXLINE 80#define SERV_PORT 8000int main(void){ struct soc原创 2012-10-02 10:37:15 · 756 阅读 · 0 评论 -
指针与数组
先看一个例子:int a[10];int *pa = &a[0];pa++;首先指针pa指向a[0]的地址,注意后缀运算符的优先级高于单目运算符,所以是取a[0]的地址,而不是取a的地址。然后pa++让pa指向下一个元素(也就是a[1]),由于pa是int *指针,一个int型元素占4个字节,所以pa++使pa所指向的地址加4,注意不是加1。从前面的例子我们发现,地址的具体原创 2012-09-16 22:41:54 · 884 阅读 · 0 评论 -
inotify - 监控文件系统
原文链接#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <sys/types.h>#include <sys/inotify.h>#define EVENT_SIZE ( sizeof (struct inotify_event) )#define BUF_LEN ( 1024 * ( EVENT_S翻译 2015-12-02 00:02:02 · 578 阅读 · 0 评论 -
Mac - gdb配置
问题现象(please check gdb is codesigned - see taskgated(8))参考1(main) 参考2 文章就暂不翻译了,一步一步看,Easy for Ucode-signing.txt [plain text] On MacOSX lldb needs to be code signed. The Debug and Release builds原创 2015-10-01 01:07:45 · 633 阅读 · 0 评论 -
Linux内存管理{转}
转载地址摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。// 待认真学习和研究……前言内存管理一向是所有原创 2013-12-05 23:43:06 · 1125 阅读 · 0 评论 -
GCC编译漏洞_普通用户提权root
#!/bin/bash#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>#writer:Lin-credible#function: YOUR UID WILL BE ZERO!JUST EXEC IT!#MAIL: lin-credible@hotmail.com#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<原创 2012-09-11 22:26:52 · 5858 阅读 · 0 评论 -
如何降低 Cache 失效率
//学点儿东西,晚些记得贴上来。。。原创 2014-01-04 01:14:40 · 7597 阅读 · 11 评论 -
volatile限定符{C}
背景前几天,发了一条如下的微博 (关于C/C++ Volatile关键词的使用建议): 此微博,引发了朋友们的大量讨论:赞同者有之;批评者有之;当然,更多的朋友,是希望我能更详细的解读C/C++ Volatile关键词,来佐证我的微博观点。而这,正是我写这篇博文的初衷:本文,将详细分析C/C++ Volatile关键词的功能 (有多种功能)、Vola原创 2013-12-04 22:46:34 · 2211 阅读 · 4 评论 -
指针与const限定符
const限定符和指针结合起来常见的情况:const int *a;int const *a;这两种写法是一样的,a是一个指向const int型的指针,a所指向的内存单元不可改写,所以(*a)++是不允许的,但a可以改写,所以a++是允许的。 int * const a;a是一个指向int型的const指针,*a是可以改写的,但a不允许改写。 int co原创 2012-09-18 23:42:24 · 867 阅读 · 0 评论 -
字符串操作函数整理
★字符串操作函数★程序按功能划分可分为数值运算、符号处理和I/O操作三类,符号处理程序占相当大的比例,符号处理程序无处不在,编译器、浏览器、Office套件等程序的主要功能都是符号处理。无论多复杂的符号处理都是由各种基本的字符串操作组成的,本节介绍如何用C语言的库函数做字符串初始化、取长度、拷贝、连接、比较、搜索等基本操作。1.初始化字符串#include void *memset原创 2012-09-16 23:08:27 · 840 阅读 · 0 评论 -
二叉树的遍历
遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作: ⑴访问结点本身(N), ⑵遍历该结点的左子树(L), ⑶遍历该结点的右子树(R)。 以上三种操作有六种执行次序: NLR、LNR、LRN、NRL、RNL、RLN。 注意: 前三种次原创 2012-10-02 16:30:12 · 928 阅读 · 0 评论 -
洗牌
数组这个数据结构不错,简单而有效率原创 2016-04-18 00:10:18 · 608 阅读 · 0 评论