- 博客(25)
- 资源 (18)
- 收藏
- 关注
原创 【linux 指令学习】 taskset -pc PID 查看线程占用cpu核
taskset -pc PID 可以用于 查看 当前线程 对应绑定的 在 哪个核上面。 这个 可以用于 程序优化, 查看 哪个线程占用的 cpu 比重比较高首先 可以通过 top -H -d 1 -p PID 查看具体 进程的 cpu ,内存 等等 占据大小 比例-d 1 表示 刷新间隔、-p PID表示 指定具体的进程号再 按下 1可以查看到
2015-07-24 15:09:36 5788
原创 linux 下面 静态库 、 动态库的生成 及其使用
1、静态库 《来自博客:http://blog.csdn.net/stpeace/article/details/47030017》 步骤一: 写test.h文件, 内容为:[cpp] view plaincopyvoid print(); 写test.c文件, 内容为:
2015-07-24 14:33:02 646
原创 realloc 函数的用法 以及 误区
realloc 原型:extern void *realloc(void *mem_address, unsigned int newsize); 用法:#include 有些编译器需要#include 功能:改变mem_address所指内存区域的大小为newsize长度。 说明:如果重新分配成功则返回指向被分配内存的指
2015-07-24 10:12:22 39681 5
原创 linux下错误的捕获:errno和strerror的使用
经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。 在程序代码中包含 #include ,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量
2015-07-23 11:08:32 3392
转载 IP、ICMP、UDP、TCP 校验和算法
以前看计算机网络相关的书,每次看到IP或者UDP报头校验和时,都一瞥而过,以为相当简单,不就是16bit数据的相加吗。最近在研究《TCP/IP详解 卷1:协议》这本书,看到校验和是16bit字的二进制反码和(晕,以前都没注意原来是反码和,看来以前看书不仔细啊!罪过,罪过~~),觉得很奇怪,为什么会用反码和,而不是直接求和呢?(因为我认为TCP/IP协议里面的算法和思想一般都是非常经典的,人家这么做
2015-07-22 15:02:41 830
原创 nslookup 通往dns的桥梁
【nslookup何许人?】nslookup命令,是Linux里非常常用的网络命令,简而言之就是“查DNS信息用的”。通过man nslookup可以看到对于nslookup的官方解释是“query Internet name servers interactively”。【nslookup作者何许人?】通过man nslookup可以看到其作者是Andrew Ch
2015-07-21 14:33:20 953
原创 SMB3.0 简介
服务器消息块概述发布时间: 2012年3月更新时间: 2012年3月应用到: Windows Server 2012本主题介绍 Windows Server® 2012 中的 SMB 3.0 功能,包括功能的实际应用、相对于以前版本此版本的最重要新功能或更新功能以及硬件要求。功能描述服务器消息块 (SMB) 协议是网络
2015-07-21 10:18:50 16390
原创 linux进程---sigaction 函数
使用 sigaction 函数: signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受到了一定的限制。而 POSIX 标准定义的信号处理接口是 sigaction 函数,其接口头文件及原型如下: #include int sigaction(int signum, const struct sigaction *
2015-07-20 11:18:15 506
转载 Linux多线程——使用信号量同步线程
信号量、同步这些名词在进程间通信时就已经说过,在这里它们的意思是相同的,只不过是同步的对象不同而已。但是下面介绍的信号量的接口是用于线程的信号量,注意不要跟用于进程间通信的信号量混淆,关于用于进程间通信的信号量的详细介绍可以参阅我的另一篇博文:Linux进程间通信——使用信号量。相似地,线程同步是控制线程执行和访问临界区域的方法。一、什么是信号量线程的信号量与进程间通信
2015-07-20 09:24:35 587
原创 进程间通讯(一) --- 信号
1、信号信号其实是一个 整数,每个信号都有自己的名字,以SIG开头。信号的名字 就是 整数 的宏定义。用 kill -l 可以查看所有的 信号 及其对应的 宏 $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7
2015-07-18 20:47:07 560
转载 一个程序员的顿悟
《来自: http://www.cnblogs.com/Sonet-life/p/4650226.html#3229723》从某群里分享的,虽然不知来自哪位大神,分享一下吧。 我算是靠坑蒙拐骗进了程序员的门,然后一路狂奔。26 岁之前几乎没有任何写代码的经验,研究生毕业却意外选择了一家不可能提供培训的初创公司,在每日担忧公司倒闭、害怕被炒鱿鱼以及同事冷落白眼的三重压力下逆流而上,
2015-07-17 14:00:33 671
原创 大小端的面试题
西艾:X86结构下,下面代码输出结果是什么?代码: 1: char str[20]="Good night"; 2: int* p=(int*)str; 3: p[0]=0x61626364; 4: p[1]=0x31323334; 5: p[2]=0x41424344; 6:
2015-07-17 10:58:56 2038
原创 【字符串操作】 寻找两个字符串中的 最大公共子串
*题目描述:请编写一个函数,求2个字符串的最长公共子串,n 例如有2个字符串为: Name some local bus. local bus is high speed I/O bus close to the processor. 则最长的公共子串为“local bus”。*要求实现的函数:void find(char
2015-07-17 10:26:29 2622
原创 【ACM】-斐波那契数列 -- 递归并不一定就是好
斐波那契数列时间限制(普通/Java) : 1000 MS/ 10000 MS 运行内存限制 : 65536 KByte总提交 : 5750 测试通过 : 2053 比赛描述在数学上,斐波那契数列(Fibonacci Sequence),是以递归的方法来定义:F0 = 0F1 = 1Fn = Fn - 1 + Fn - 2
2015-07-16 11:42:12 3094
原创 一道 答案不被接受的 acm
冒泡排序时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 1369 测试通过 : 237 比赛描述给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中冒泡排序算法进行排序,并输出排序过程中每趟及最后结果的相应序列。输入共两行,第一行给出排序元
2015-07-11 20:57:17 682
原创 内部排序法小结
1.冒泡排序(Bubble Sort)冒泡排序方法是最简单的排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,
2015-07-11 20:54:21 568
转载 cpu绑定和cpu亲和性
将进程/线程与cpu绑定,最直观的好处就是提高了cpu cache的命中率,从而减少内存访问损耗,提高程序的速度。我觉得在NUMA架构下,这个操作对系统运行速度的提升有较大的意义,而在SMP架构下,这个提升可能就比较小。这主要是因为两者对于cache、总线这些资源的分配使用方式不同造成的,NUMA每个cpu有自己的一套资源体系, SMP中每个核心还是需要共享这些资源的,从这个角度来看,NUMA使用
2015-07-11 16:20:24 1079
原创 Linux_多核系统下绑定进程或线程到指定CPU_核执行
coolshell最新的文章《性能调优攻略》在“多核CPU调优”章节,提到“我们不能任由操作系统负载均衡,因为我们自己更了解自己的程序,所以,我们可以手动地为其分配CPU核,而不会过多地占用CPU0,或是让我们关键进程和一堆别的进程挤在一起。”。在文章中提到了Linux下的一个工具,taskset,可以设定单个进程运行的CPU。同时,因为最近在看redis的相关资料,redis作为单进程模型的
2015-07-11 15:20:27 8117
原创 由malloc内存分配是否连续 引出的 一些概念
1、问题:malloc分配的内存空间是连续的吗1、linux内核管理内存空间的分配,所有程序对内存空间的申请和其他操作,最终都会交给内核来管理。2、linux实现的是“虚拟内存系统”,对用户而言,所有内存都是虚拟的,也就是说程序并不是直接运行在物理内存上,而是运行在虚拟内存上,然后由虚拟内存转换到物理内存。3、linux将所有的内存都以页为单位进行划分,通常每一页是4K
2015-07-11 11:47:22 2996
原创 用 union 将 单链表 模块化
代码如下:#include#include#includetypedef unsigned int uint32_t;typedef char uint8_t;typedef unsigned short uint16_t;typedef struct _BOOK{ char name[32]; uint32_t price;}Book;typede
2015-07-10 15:12:28 1052
原创 c语言 快速排序 和 二分 查找 模型
引言:c语言中 stdlib 自定义了一个 qsort 快速排序函数 模型:int cmp(const void *a,const void *b);qsort(s,n,sizeof(s[0]),cmp);示例代码://#include#includeint cmp(const void* a, const void* b){ retu
2015-07-10 11:37:51 746
原创 python爬虫示例(1)---urlretrieve() 函数使用
下面我们再来看看 urllib 模块提供的 urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。1>>> help(urllib.urlretrieve)2Help on function urlretrieve in module urllib:
2015-07-06 17:30:41 25487
原创 python 示例开发程序
1、 求1-100 的素数 # 素数 from math import sqrti =2j=2flags = 0for i in range(2,101): flags = 0 tmp = int(sqrt(i)) tmp = tmp + 1 for j in range(tmp): ...
2015-07-06 16:27:46 872
转载 Python 学习 --- 基础知识
第一章 1、python于1989年底由范.罗萨姆始创。是一种面向对象的解释型语言。 第二章 python起步 1、输出语句print. print和%结合使用,实现字符串的替换,与C语言中的prtinf()函数类似.print默认输出换行 >>> print ‘%s is a num: %d’ % (‘Python’, 45) %s : 字符串; %d: 数字; %f:
2015-07-06 15:24:34 690
转载 C 语言实现 ping 程序 -- 来自实验楼
C 语言实现 ping 程序实验介绍本项目带领你学习用 C 语言实现 ping 命令。通过本项目中你可以更深入地理解 TCP/IP 协议,掌握 C 语言进行网络编程的技巧方法。一、ping 命令使用的相关 TCP/IP 协议介绍ping 命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。例如,执行 ping git.shiyanlou.com 会得到如
2015-07-02 13:56:19 5041 1
网络协议模拟器fapro
2023-09-12
微软开源安全工具 Application Inspector.zip
2023-09-12
Linux应急响应/信息搜集脚本 V2.0
2023-09-11
21年11月信息系统项目管理师考前冲刺资料 .pdf
2023-09-11
腾讯哈勃沙箱白皮书(Linux版)
2023-09-11
基于C语言的Hyperscan Demo程序(包含已编译好可移植的libhs.so)
2023-09-11
恶意代码分析之开源沙箱Cuckoo代码处置流程分析全景图
2023-09-11
docker 离线RPM包集合
2018-10-10
kernel-devel-3.10.0-514.el7.x86_64.rpm
2017-10-17
远程控制Evilotus1.3.2小熊专用KiSsY脱壳版
2014-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人