自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (26)
  • 收藏
  • 关注

原创 notes: Hacking Blind

1. TitleHacking BlindAndrea Bittau, Adam Belay, Ali Mashtizadeh, David Mazières, Dan BonehStanford University2. SkeletonIt illustrates that it is possible to launch stack buffer overflow exploits...

2019-04-07 10:58:00 265

原创 opengl开发的一些网站

OpenGL开发学习网站列表记录:1. http://www.lazyfoo.net/tutorials/OpenGL/index.php2. http://ogldev.atspace.co.uk/3. http://www.gamedev.net/page/resources/_/technical/opengl/opengl-33-tutorials-r37544. http

2016-04-08 12:38:30 577

转载 linux c检测USB热插拔(netlink)

#include #include #include #include #include #include #define UEVENT_BUFFER_SIZE 2048 int main(void) { struct sockaddr_nl client; struct timeval tv; int CppL

2016-02-19 09:43:17 5206 2

转载 linux c检测网线热插拔(netlink)

#include #include #include #include #include #include #include #include #include #include #include #define BUFLEN 20480 int main(int argc, char *argv[]) {

2016-02-19 09:37:08 3331

原创 彩票调度算法权重分配

彩票调度算法,每个待运行的进程分配一张彩票,每次需要调度的时候,随机抽取一张已分配的彩票,中奖的进程获得CPU。如果是优先级高的进程,应该保证被抽取的几率更大,所以需要提高高优先级进程的中奖率:

2016-02-17 10:59:15 3266

原创 Xml树状节点的遍历

一、问题之前在生成PCI设备的树形结构的时候,采用读取PCI设备的目录结构来实现。将设备树输出到xml文件的时候,很“自然”的选择了递归的方式。后面当想要从输出的xml文件里获取PCI设备树形信息的时候,又再一次很“自然”地选择了递归读取xml文件。这种“自然”的选择,一定程度上影响了运行的效率。最后不得不将递归遍历xml节点的方式,改成迭代来处理。二、递归读写xml

2016-02-16 17:12:13 1465

原创 Linux C获取PCI设备名和厂商名

一、接口char *pci_lookup_name(struct pci_access *a, char *buf, intsize, int flags, ...) PCI_ABI;(/usr/include/pci/pci.h)                    二、描述在/sys/bus/pci/devices/目录下面可以读取PCI设备的Vendor

2016-02-03 16:27:08 3266

原创 linux Kernel module简单模拟ps指令输出

一、方法/* sched.h */Struct task_struct { … list_headchildren; list_headsibling; …}; 1)/* traver every process */struct task_struct *task;for_each_process( task ){ /* handle

2016-01-19 16:00:30 533

原创 linux kernel module打印指定进程栈信息

一、             方法使用接口sched.h:extern void show_stack(structtask_struct *task, unsigned long *sp);二、             问题1)不能直接使用show_stack()2)应用的时候,无法插入模块,报Unknown symbol in module三、

2016-01-15 17:29:03 2181 1

原创 OS之子进程简单模拟shell解释环境(再次)

(1)当输入一条指令后,将指令拆分成独立的符号;(2)如果指令的最后一个符号是’&’,则(4)子进程执行指令的时候,父进程将不会wait()子进程执行完毕,继续接收下一条指令进行解释;(3)History指令由主程序使用循环队列进行维护,最多只记录10条历史指令;'!!'执行最近执行过的指令,'! + 数字'执行对应的历史指令;(4)如果是非history指令,fork()

2016-01-12 17:22:19 434

原创 opengl简单视频教程

一个国外大学生的OpenGL简单视频教程:http://www.videotutorialsrock.com/index.phpLesson1 - Base ShapesLesson2 - Transformations and TimersLesson3 - ColorLesson4 - LightingLesson5 - Textur

2015-12-30 10:27:46 3321

原创 虚拟化简单练习环境搭建(二)

4)上一步之后,已经将镜像文件上传到虚拟主机里面。还需要安装一些额外的工具;virt-install: 创建虚拟机qemu-img:创建虚拟机的磁盘现在假设虚拟主机处于断网状态,借助镜像里的rpm包进行安装:1.将镜像挂载到某个目录;2.借助yum进行安装,这样可以避免依赖包的手动安装。但是在此之前,需要在/etc/yum.repos.d加一个配置文件;

2015-12-20 21:27:24 584

原创 虚拟化简单练习环境搭建(一)

一、准备1)基本准备:vmware workstationCentOS-7-x86_64-Everything-1503-01.iso2)可选准备:       1.xshell,xftp二、开始搭建1)使用vmware安装CentOS系统(略),这个虚拟机把它当成一个主机来看待,所以这儿就叫它虚拟主机,而把安装在虚拟主机里的虚拟机叫做虚拟客户机,以此来

2015-12-20 21:09:24 2093

原创 gdb执行和调试窗口分离

将执行程序和调试窗口分开,目前我在工作中用到的应用场景:在发往测试部的程序包,如果测出bug,而在开发环境暂时没有复现环境的时候(在测试部能复现),会打开一个调试窗口,找到执行程序的进程号,将运行的程序attach到gdb里面(方法二),然后进行简单的调试,寻找bug的原因。《the art of debugging with gdb ddd and eclipse》书里讲解情景:是在调试gu

2015-11-24 19:58:15 3073

转载 linux链接自己编写的动态库

Shared libraries with GCC on LinuxBy anduril462Libraries are an indispensable tool for any programmer. They are pre-existing code that is compiled and ready for you to use. They often provide ge

2015-11-19 15:00:06 446

原创 简单实现服务程序的一些问题

上个月按项目业务功能的新需求,需要实现一个简单的服务程序,对接前台客户端和后台的业务处理端。之前存在一个windows平台对接端,使用IOCP通信模型来实现。而现在的需求是要在Linux服务器上进行实现,所以采用的是epoll模型。这次的的实现周期大概是一个月的时间,主要是采用模仿的方式来做,因为在此之前对于网络编程这块不是太擅长,重新设计的风险太高,而且不能保证能够按时的完成项目计划。所

2015-11-14 16:44:09 337

原创 od指令的简单实现

2015-09-29od指令的简单实现od以八进制或其他进制导出显示文件内容。1.第一列显示的是文件的位移2.默认每行显示16个字节3.当显示多个文件时,会将多个文件合并显示4.当连续的多行相同时,相同的第二行会显示为星号(*),之后的相同行将不会显示,直到遇到新的不同行 intdo_od( int fd, unsigned long

2015-09-29 19:44:00 1522

原创 uptime指令的简单实现

2015-09-24uptime指令的简单实现报告当前时间;系统已运行多久;当前登录的用户数量;最近1分钟,5分钟和15分钟的平均负载。1.当前系统时间通过time(NULL)获取2.系统运行的时间,记录在/proc/uptime文件里面第1数值就是系统启动到现在的时间,第2数值是系统空闲的时间3.当前登录的用户数量,记录在u

2015-09-24 17:12:03 1418

原创 linux下32位汇编hello, world!

SECTION .data ; section containing initialized data HelMsg: db "Hello World!",10 HelLen: equ $-HelMsgSECTION .bss ; section containing uninitialized dataSECTION .text

2015-09-23 11:07:00 1065

原创 生成pci设备树的简单实现

2015-09-16系统的所有pci设备记录在/sys/bus/pci/devices目录下面:而如果pci地址下连接有其他子设备的话,可以在对应的目录下找到其他的pci地址:可以看到0000:00:11.0下连接有0000:02:00.0, 0000:02:01.0, 0000:02:02.0, 0000:02:03.0四个设备。所以,通过分析/sys/b

2015-09-16 19:50:16 2742

原创 ac指令的简单实现

2015-09-14ac指令通过分析/var/log/wtmp日志文件,统计登陆和退出记录,得出用户的连接时间。1.第一步是读取wtmp文件wtmp文件和utmp文件的记录格式是一样的,可以使用struct utmp结构体,将wtmp的记录逐条的都出来。inttravel_wtmp( st_link_node **stppLink ){ int fd

2015-09-14 22:19:41 917

原创 pwd指令的简单实现

pwd指令的简单实现2015-08-23pwd以绝对路径打印当前的工作目录。因为整个系统的文件组织是树形的,所以,可以从当前目录逐层向根目录进行查找,当找到根目录,即可得到完全路径。1.如何逐层查找?系统通过inode节点来管理文件,所以每个文件会有一个inode号。目录是比较特殊的文件,通过<inode, name>的列表组织目录下的文件。每个目录下有

2015-08-23 23:47:29 1814

原创 Libvirt之vfio pci的passthrough

libvirt之vfio pci的passthrough2015-08-18一、准备1.开机启动项 /etc/default/grub文件在GRUB_CMDLINE_LINUX参数加入intel_iommu=on2.加载模块modprobe vfiomodprobe vfio-pci3.准备一台虚拟机e.g 一台虚拟机vfio_test 二、

2015-08-18 19:29:34 15632 1

原创 cp指令的简单实现

一、复制的三种情况:将文件复制成另外一个文件;intcopy_file2file( char *cpSrcPath,char *cpDstPath ){ int iFdSrc = 0; int iFdDst = 0; int iRdNum = 0; int iWrNum = 0; char caLine[ LI

2015-08-14 23:49:21 1657

原创 shell计算日期之间的天数

2015-08-05 成都1. 利用date将日期转化为秒数$(date +%s -d "$date")2.计算日期之间的差值,除以一天的秒数,得到相差的天数-------------------caldays.sh#!/bin/sh. ./error.sh####### DESC: caculate the days between two specific dat

2015-08-05 20:05:05 1810

原创 more指令的简单实现

2015-07-29 晴 成都more指令的简单实现遇到的问题和我的处理1. 问题:换行时,“--more()--”提示输入指令这行会多次不停的向屏幕上方移动。     处理:每次都从进行满屏输出,不管是翻页还是换行,总是将“--more--”挤到屏幕的最下方。    iCurrentLine=iCurrentLine-(sliPageLen-1)+reply;    等式

2015-07-29 13:44:52 786

原创 OS之子进程简单模拟shell解释环境

(1)每次主进程在接收指令进行解释之前,调用waitpid(-1,NULL, WNOHANG);释放可能存在的执行完毕的子进程资源(不会等待);(2)当输入一条指令后,将指令拆分成独立的符号;(3)如果指令的最后一个符号是’&’,则(5)子进程执行指令的时候,父进程将不会wait()子进程执行完毕,继续接收下一条指令进行解释;(4)History指令由主程序使用循环队列进行维护,最多只

2015-01-30 21:03:20 537

原创 OS之Windows API创建子进程(C VS 2008)

调用Windows API创建创建子进程,CreateProcess命令行参数不能直接使用字符串(貌似更高版本的VS没这方面的烦恼)。#include#include#includeintmain(void){ STARTUPINFO si; PROCESS_INFORMATION pi; TCHAR scommand[] = TEXT("C:\\WINDOWS\\syste

2015-01-15 19:58:49 937

原创 OS之内核简单链表

昨天看完操作系统教材的第二章,今天抽了一点空余时间做一做课后的编程习题。主要是简单练习一下Linux内核数据结构的链表。问题非常简单,就是在模块加载的时候生成包含5个节点的双链表,然后,在模块卸载的时候,遍历5个节点,然后释放。但是之前没怎么接触这类问题,刚开始的时候还是僵持了一下。好在链表管理的接口函数能够找见,对于解决问题真是帮助不小。/usr/src/linux-2.6.39

2015-01-09 20:34:31 510

原创 Ubuntu使用日志2015-01-05

2015年01月04日     晴今天入手了一台Linux(Ubuntu 12.04)系统的笔记本,打算工作之外进行消遣。之前一直用的是Windows下的虚拟机,都是用来练习shell脚本和C程序的编写,也没想过用来做其他的事儿。今天陡然一上手,真是麻烦不少。1.      上手的第一件事,想试一试C语言的’hello world’。写测试代码的时候,发现没有vim,果断的想安装一

2015-01-09 19:52:12 430

原创 读书记之《linux命令行与shell脚本编程大全》

英文名:《Linux Command Line and Shell Scripting Bible》(2th)作者:Richard Blum, Christine Bresnahan出版社:人民邮电出版社快到年底,项目也进入了比较关键的阶段,不知不觉加班也多了起来。半个月才能休息一天,双休已经变得比较困难。难得晚上不用加班,不过却不太想走,随意地躺在靠椅上,心里默默地扒着手指头数数,原

2014-12-01 14:56:06 1094

原创 读书记之《Unix&Linux大学教程》

英文名:《Harley Hahn's Guide to Unix and Linux》作者:Harley Hahn出版社:清华大学出版社从2014年8月20日到2014年11月8日,用了将近3个月的时间终于将这本书给简单看了一遍。读完之后,我想说我很喜欢这本书。喜欢作者的幽默。作者写书的语言很幽默,读起来不晦涩,相当有意思。对于我这样一个刚从Windows环境转到Linux

2014-11-24 09:31:47 2777

原创 读书记之《Beginning Linux Programming》

英文名:《Beginning Linux Programming》(4th)作者:Neil Matthew, Richard Stones出版社:WROX PR/PEER INFORMATION INC从2014年5月20日开始买这本书,大约8月份的时候才把这本书简单看了一遍。期间由于惰性和工作的原因,停过半个月左右,差点就让它一直停在哪儿了,因为书后面的内容充斥着一大堆的库函数,让我

2014-11-24 09:28:00 1455

原创 读书记之《C Primer Plus》

英文名:《C Primer Plus》(5th)作者:Stephen Parta出版社:Sams新公司的第一个月,重心放在了解项目组的基本情况,另外,通过配合前辈们做些简单的测试工作,学习一些工作上的知识和技能。一个偶然的机会,看到同组的同事在案头放了一本《C Primer Plus》,好奇心的驱使下,向同事借阅了一下,由于时间比较短,当时只看了一下目录和某一章的一小节,然后,决定买一

2014-11-24 09:20:24 1352

原创 Oracle之to_char()小碰撞

2014/11/6,今天在练习存储过程的时候,to_char()函数和我小小的闹腾了一把。/* PROCEDURE RaceInfo**  Join tables: BoatCrew,Boat and Person,**  to get the information:**    BoatCategory, BowNumber, Position, LastName, FirstN

2014-11-06 20:59:14 689

原创 Shell遍历文件内容

2014年6月11日星期三  --- 晴  北京新的环境总是慢慢从陌生变得熟悉,陌生的同事,陌生的工作环境,和陌生的领导。刚开始的工作也就是查查数据,测一测功能的实现,另外再熟悉一下新的业务。测试功能的时候需要将数据库表名和文件名拼接成命令语句,执行测试。由于涉及的表和文件名比较多,所以第一次测的时候,很是花了一些时间,同时,把头给弄晕了。所以,不得不使用不太熟悉的shell脚本来

2014-06-11 19:38:33 3414

转载 C#使用DataTime类

DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString();//127756416859912816 dt.ToFileTimeUtc().ToString();//1277567048599128

2014-05-15 14:37:18 826

转载 C#WinForms窗体无边框拖动

界面上有很多别的控件,PANEL,LABEL等等。。如果只给FORM绑定事件的话,鼠标放在别的控件上会没有效果,难道我要每一个控件都绑定事件

2014-05-14 16:28:05 806

原创 数据结构与GDI+的碰撞(C# VS 2008)之Sequence

2014年5月4日星期日上次将数据结构Bag呈现了一下,后面又学了一个和Bag类似的结构Sequence。1)  不同于Bag的随意,Sequence有一个current属性指向当前要操作的位置,如果没有current属性不可用的话,将current属性和used属性置成一样;2)  插入是,分为insert()方法和attach()方法。Insert()方法是将元素插入到curr

2014-05-04 22:02:09 830

原创 数据结构与GDI+的碰撞(C# VS 2008)之Bag

最近学习数据结构和GDI+,试着将两者结合在一起做练习,希望能够将数据结构图形化,而不是控制台的。1.      编写基本的数据结构类文件DataStructure_Bag.cs,使用数组来实现,可以进行增、删、查、统计、排序等操作。//FILE://DataStructure_Bag.cs// CLASS IMPLMENT: class Bag// // CONSTRUCTO

2014-04-27 20:13:16 1155 1

LearnOpenGL

OpenGL学习经典教材教程,网站地址:http://learnopengl.com/可以直接访问。。。。。。。

2016-04-08

LinuxC的xml文件遍历

C语言通过递归和迭代遍历xml文件,保证数据的树形结构

2016-02-16

linuxC获取PCI设备名和厂商名

linux C获取PCI设备名和厂商名,编译时加上-lpci

2016-02-03

linux Kernel module简单模拟ps指令输出

linux Kernel module简单模拟ps指令输出,简单说明: http://blog.csdn.net/qq123386926/article/details/50543038

2016-01-19

linux kernel module简单模拟ps指令

linux kernel module简单模拟ps指令,简单说明: http://blog.csdn.net/qq123386926

2016-01-19

linux kernel module打印指定进程栈信息

linux kernel module打印指定进程栈信息,简单说明: http://blog.csdn.net/qq123386926/article/details/50524901

2016-01-19

shell简单模拟20160112

shell简单模拟,最多记录10条历史指令.rar

2016-01-12

opengl简单视频教程Lesson21

opengl简单视频教程最后一课Lesson21,最后一课.rar

2015-12-30

opengl简单视频教程Lesson12-Lesson20

opengl简单视频教程Lesson12-Lesson20网站地址: http://www.videotutorialsrock.com

2015-12-30

opengl简单视频教程Lesson10-Lesson11

opengl简单视频教程Lesson10-Lesson11,网站地址: http://www.videotutorialsrock.com

2015-12-29

opengl简单视频教程Lesson6-Lesson9

opengl简单视频教程Lesson6-Lesson9 网站地址: http://www.videotutorialsrock.com

2015-12-29

opengl简单视频教程Lesson1-Lesson5

opengl简单视频教程Lesson1-Lesson5,网站地址: http://www.videotutorialsrock.com/

2015-12-29

opengl简单教程Lesson1-Lesson5(video)

opengl简单教程前五课视频,网站地址: http://www.videotutorialsrock.com/index.php

2015-12-29

opengl简单教程Lesson1-Lesson5(src)

opengl简单教程前五课源代码,网站地址: http://www.videotutorialsrock.com/index.php

2015-12-29

opengl简单教程Lesson1-Lesson5

opengl简单教程前五课pdf,

2015-12-29

linux kernel module programming guide

linux内核模块开发的简单引导,基于kernel2.6, 英文版

2015-12-23

gdb调试和执行窗口分离

gdb调试和执行窗口分离,示例程序-使用方式见: http://blog.csdn.net/qq123386926/article/details/50017465

2015-11-25

gdb调试和执行分离-示例程序

gdb执行和调试窗口分离的示例代码。使用方式见,以下链接: http://blog.csdn.net/qq123386926/article/details/50017465

2015-11-24

od指令的简单实现

简单实现od指令,只能八进制输出,能区分大小端

2015-09-29

uptime指令的简单实现

linux下模拟C语言uptime指令的简单实现,主要是通过读取系统文件信息实现

2015-09-24

生成pci设备树的简单实现

生成pci设备树的简单实现, 主要是通过递归来实现

2015-09-16

ac指令的简单实现

ac指令的简单实现,类似于ac -p。用该代码实现下次的last指令。

2015-09-14

pwd指令的简单实现

pwd指令的简单实现,但是在符号链接的目录会打印实际的路径而不是符号链接目录的路径,有待解决

2015-08-23

cp指令的简单实现

Linux C简单实现cp指令,复制文件,文件夹,但是没有用户交互和操作选项

2015-08-15

more指令的简单实现代码

简单实现linux下more指令,可以翻页,换行,回退

2015-07-29

mysql-connector-java-5.1.23

MySQL驱动,JAVA连接JBDC数据库

2013-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除