自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

上官宏竹的专栏

技术的记录和分享

  • 博客(19)
  • 资源 (7)
  • 收藏
  • 关注

原创 Linux设备驱动——字符设备驱动

介绍字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等 每一个字符设备或块设备都在/dev目录下对应一个设备文件。linux用户程序通过设备文件(或称设备节点)来使用驱动程序操作字符设备和块设备。字符设备驱动模型1、cdev结构体struct cdev {

2015-09-29 10:46:50 416

原创 MakeFile

内核makefileifneq ($(KERNELRELEASE),) param-objs := file1.o file2.o obj-m := param.oelse KDIR := /lib/modules/2.6.18-53.el5/buildall: make -C $(KDIR) M=$(PWD) modulesclean: rm -f *

2015-09-29 10:43:28 611

原创 多进程并发编程

exit()函数用于终止调用进程。关闭所有子进程打开的描述符,向父进程发送SIGCHLD信号,并返回状态。 父进程可通过调用wait()或waitpid()函数获得子进程的终止信息。{ if(listen(listenfd,BACKLOG)== -1){ perror("listen() error\n"); exit(1); } len=s

2015-09-17 23:41:19 522

原创 Linux进程间同步与通信

文件锁/记录锁http://www.cnblogs.com/dyllove98/archive/2013/06/28/3161371.html

2015-09-17 11:54:14 313

原创 Unix环境高级编程

共享内存&文件映射1、文件映射、内存映射(存储映射I/O)P391 【定义】 存储映射I/O使一个磁盘文件与存储空间中的一个缓存相映射。于是当从缓存中取数据,就相当于读文件中的相应字节。与其类似,将数据存入缓存,则相应字节就自动地写入文件。这样,就可以在不使用read和write的情况下执行I/O。 【作用】 1. 直接用内存映射文件来访问磁盘上的数据文件,无需再进行文件的I/0操作. 2

2015-09-17 10:51:30 771

原创 网络编程知识

就是说对方处于LAST_ ACK 状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个。

2015-09-15 21:49:28 1754 16

原创 面试常见题(非算法)

linux和os:netstat tcpdump ipcs ipcrm (如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小 ^_^ ,这四个命令的熟练掌握程度基本上能体现面试者实际开发和调试程序的经验) cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握 awk sed需掌握 共享内

2015-09-15 11:33:22 1313

原创 检测内存泄露、多线程gdb调试(core)、内核态用户态的通信

快速检测内存泄露通过包括 crtdbg.h,将 malloc 和 free 函数映射到它们的调试版本,即 _malloc_dbg 和 _free_dbg,这两个函数将跟踪内存分配和释放。此映射只在调试版本(在其中定义了_DEBUG)中发生。发布版本使用普通的 malloc 和 free 函数。在程序退出前调用:_CrtDumpMemoryLeaks();

2015-09-13 22:53:59 6627 1

原创 ACM题目

1、矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a2、单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf

2015-09-12 17:12:30 770

原创 算法——动态规划

1、0-1背包问题【分析】 n = 3(宝石个数) c = 10( 背包体积) n: 0 1 2 (宝石编号) w: 5 4 3 v: 20 10 12从k=n=3开始分析: 当n=3时,我们要求的是前3个宝石, 装到体积为10的背包里能达到的最大价值 当n=2时,我们要求的是前2个宝石, 装到体积为7(10 - 3)的背包里能达到的最大价值那么可以定义一个状态

2015-09-11 16:59:28 405

原创 effectiveC++

条款1:尽量用const和inline而不用#define 条款3:尽量用new和delete而不用malloc和free malloc和free(及其变体)会产生问题的原因在于它们太简单:他们不知道构造函数和析构函数。条款6:析构函数里对指针成员调用delete执行动态内存分配的的类都在构造函数里用new分配内存,然后在析构函数里用delete释放内存 删除空指针是安全的(因为它什么也没做)

2015-09-11 10:44:49 386

转载 算法——动态规划(分治递归)

前言本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。 解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。 这篇文章是基于实例展开来讲的,因为干巴巴的理论实在

2015-09-11 09:48:02 1118

原创 C/C++编译错误(原因&解决)

C++编译错误虚函数必须定义和实现【错误code】st9.cpp:(.text._ZN1AC2Ev[_ZN1AC5Ev]+0x8): undefined reference to `vtable for A'/tmp/cc4NCjpc.o:(.rodata._ZTV1B[_ZTV1B]+0x8): undefined reference to `A::f()'/tmp/cc4NCjpc.o:(.

2015-09-09 16:33:24 776

原创 nginx机制详解

nginx架构众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。1、nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。我们也可以手动地关掉后台模式,让nginx在前台运行,并且通过配置让nginx取消master进程,从而可以使ngin

2015-09-08 21:52:48 862

原创 编程基础知识

1、枚举typedef enum { INFO, DEBUG, ERROR, FATAL, DEBUG_LAST}**DebugLevel**; //此处定义了一个枚举类型然后才能使用 DebugLevel Main_DebugL = FATAL;定义变量。 若换成:typedef enum DebugLevel{ INFO,

2015-09-08 10:14:50 529

原创 笔试——数据库、网络、操作系统(Linux)

1、数据库元组行,属性列 ———————————————————————————————————————————————— 模式: Create Schema “s-t” Authorization username Drop Schema s-t District/Cascade ———————————————————————————————————————————————— 基本表

2015-09-05 15:30:23 1464

原创 重点-选择题

1、printf(“%f\n”,5); 【在printf中,float会自动转换成64位的double】 输出结果: 0.000000 2、sizeof(a = b+1) 【不会对sizeof内的表达式进行运算】3、~a>>4+1; ~ == + > 移位 算术运算 > 移位运算 > 比较运算 > 位运算 > 和/或4、(x&y) + ( (x^y)>>1 ) 求两个数

2015-09-05 11:31:40 552

原创 笔试——编程&算法

1、子序列最大和给定整数序列A1 A2….An,长度为n,其中整数可能为负数,现在要求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大,并输出最大的和。int MAXseq(const int a[], int n){ int s1,s2,j; s1 = s2 = 0; for(j=0;j<n;j++) { s1 += a[j]; //s1记录

2015-09-03 20:33:31 875

原创 计算机体系结构

1、哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。 哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。与两个存储器相对应的是系统的4条总线:程序的数据总线与地址总线。 这种分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高

2015-09-02 20:35:15 570

C语言调用mysql快速教程(精华篇)

C语言调用mysql快速教程 如何使用C调用mysql

2013-10-30

C,C++经典问题,及面试笔试题+

C,C++经典问题,及各大公司的面试笔试题

2013-10-30

Visual Uint 3.0软件测试工具

Visual Uint 3.0软件测试工具非常好用的工具 可用自动生成测试用例 适用于VC++

2013-10-30

仿QQ登陆聊天界面源码C++

仿QQ登陆聊天界面源码C++ 有聊天功能 留言功能 登陆功能 用户注册功能 后台服务器 在线人数等功能

2013-10-30

多点温度采集原理图与C语言程序

c语言 多点温度采集原理图与C语言程序

2012-05-07

超全——含答案~~~单片机原理及应用期末考试题试卷大全

超全——含答案~~~单片机原理及应用期末考试题试卷大全

2011-01-02

Flex从入门到实践_完全学习教程

Flex从入门到实践_完全学习教程 非常详细的语音视频讲解,读者可以通过视频直观地进行各种Flex实战入门操作,以更快地掌握Flex,希望给学习Flex的朋友带来帮助! 教程·····

2010-07-15

空空如也

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

TA关注的人

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