- 博客(28)
- 资源 (4)
- 收藏
- 关注
原创 linux进程
unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件。对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。sys/types.h中文名称为基本系统数据类型。在
2013-12-04 23:00:19 767
转载 linux进程编程-替换进程映-exec系列函数(execl,execlp,execle,execv,execvp)使用
本节目标:exec替换进程映像exec关联函数组(execl、execlp、execle、execv、execvp)一,exec替换进程映像在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离。这样的好处是有更多的余地对两种操作进行管理。当我们创建了一个进程之后,通常将子进程替换成新的进程映象,这可以用exec系列的函数来进行。当然,ex
2013-12-04 16:34:35 21729
原创 Linux多线程编程入门-同步机制-条件变量
Linux平台上触发条件变量则自动复位。条件变量的置位和复位有两种常用模型:第一种模型是当条件变量置位(signaled)以后,如果当前没有线程在等待,其状态会保持为置位(signaled),直到有等待的线程进入被触发,其状态才会变为复位(unsignaled),这种模型的采用以 Windows 平台上的 Auto-set Event 为代表。其状态变化如图 1 所示:
2013-12-04 14:56:21 859
原创 Linux多线程编程入门-同步机制-信号量
int sem_init(sem_t *sem, int pshared, unsigned int value);pshared:控制信号量的类型,0表示这个信号量是当前进程的局部信号量,否则,这个信号量就可以在多个进程之间共享。 value:信号量的初始值。int sem_post(sem_t *sem);以原子操作的方式给信号量的值加1。这里的原子操作指两个线程企图同时给
2013-12-03 11:59:12 718
原创 linux多线程编程入门-同步机制-互斥量
所谓同步,并不是日常用语中的同时进行的意思。这里的同步是指如何阻止同步进行的意思。互斥量,又称互斥锁,它允许程序员锁住某个对象,使得每次只能有一个线程访问它。为了控制对关键代码的访问,必须在进入这段代码之前锁住一个互斥量,然后在完成操作之后解锁。一个非常简单的应用互斥锁的很直观的例子,如果去掉锁,则结果不同。这仅是一个简单的范例,在实际应用中,多线程对同一个元素的操作都需要加锁,否则总有概
2013-12-03 10:40:25 825
原创 linux线程入门之一第一个线程函数
最适合使用线程的实现以下功能的应用: 1 计算密集型应用,为了能在多处理器系统上运行,将这些计算分解到多个线程中实现。 2I/O密集型应用,为提高性能,将I/O操作重叠。很多线程可以同时等待不同的I/O操作。分布式服务器应用就是很好的实例,它们必须享受多个客户的请求,必须为通过慢速的网络连接主动提供I/O做好准备。多线程通常比串行程序更快、响应性能更好,它们比实现同样功能的非线
2013-12-01 19:08:33 1302
原创 我的公共子字符串查找方法,非递归实现或者可以说没有实现递归
参考文章地址如下:http://blog.csdn.net/hackbuteer1/article/details/6686931子字符串的定义和子序列的定义类似,但要求是连续分布在其他字符串中。比如输入两个字符串BDCABA和ABCBDAB的最长公共字符串有BD和AB,它们的长度都是2。Substring可以用动态规划解决,令 c[i][j]表示Xi和Yi的最大Substr
2013-11-28 16:50:26 741
原创 动态规划的01背包问题---关于国王开矿的故事
此为引用的一篇文章,很棒,地址如下:http://blog.renren.com/share/228709498/2675290555----第一节----初识动态规划--------经典的01背包问题是这样的:有一个包和n个物品,包的容量为m,每个物品都有各自的体积和价值,问当从这n个物品中选择多个物品放在包里而物品体积总数不超过包的容量m时,能够得到
2013-11-27 20:13:21 3877
原创 我的单向链表的初始化、显示、反转操作
带头结点的单链表的初始化、显示、反转#include typedef struct Node{ int n; struct Node * pre; struct Node * next;} Node;typedef struct Node * ptrNode;ptrNode init(ptrNode head, int num);void insert(ptrNod
2013-11-25 21:30:45 778
原创 我的选择排序
#include void sel_sort(int a[], int len){ int i = 0, j = 0, k; int tmp; for(i = 0; i < len; i++) { k = i; for(j = i+1; j < len; j++) if(a[j] < a[k]) { tmp = a[j]; a[j] = a[k];
2013-11-19 19:03:50 788
原创 我的快速排序
#include int partition(int a[], int beg, int end){ int pos; int v = a[beg]; int i = beg, j = end; while(i < j) { sleep(2); while(a[j] > v) j--; if(i < j) { a
2013-11-19 18:31:47 787
原创 利用IDirect3DSurface9创建一个表面,并使它显示红色
Device->BeginScene(); // assume _surface is a pointer to an idirect3dsurface9 interface. // assumes a 32-bit pixel format for each pixel. // get the surface description.描述表面 D3DSURFACE_DES
2012-12-06 15:21:56 4947 3
原创 链表的基本操作-双向链表
双向链表一般也由头指针唯一确定双向链表首尾相接可以构成双向循环链表 /*链表的基本操作~~开发环境:vs2010win32 console application.*/#include "stdafx.h"#include using namespace std;struct node{ int data; node * next; // 指向后续节点
2012-11-09 18:57:47 693
原创 链表的基本操作-单向链表
/*链表的基本操作~~开发环境:vs2010win32 console application.*/#include "stdafx.h"#include using namespace std;struct node { int data; node * next;};node * createList(int n);void outputList(node *
2012-11-09 14:49:07 951
原创 松江某游戏公司笔试题目
1.谈谈你对C++三个特点的理解。答:封装,继承,多态。封装:将私有信息隐藏,只提供接口;实现模块化,代码重用。继承:一种连接类与类的层次模型;代码重用。多态:接口重用。如果函数调用的地址不能在编译器期间确定,需要在运行时才确定,这就属于晚绑定或动态绑定。最常见的用法就是声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。2.堆、
2012-11-08 11:36:48 905
原创 国内某大型搜素引擎公司笔试题
一、简答题1、列举几个常见的哈希算法,简述哈希算法的主要用途主要用途:查找关键字、文件校验、数字签名2、描述OSI的7层架构,并指出HTTP、UDP、ARP协议在那一层?应用层:为应用程序提供网络服务表示层:确保不同应用信息的识别会话层:建立数据传输通路传输层:进行流量控制、分割数据包,以及定义一些传输协议网络层:提供IP地址服务、进行IP到MAC地址的转化
2012-10-26 10:13:39 1055
原创 基于windows win32 Console App的多线程小例子
/*这是一个多线程编程的简单实例。首先,新建一个win32 Console App,其次,确认如下设置: project->property->Configuration Properties ->C/C++->Code Generation->Runtime Library->Multi-thread DLL(/MD)*/ #include #in
2012-10-18 16:06:37 2265
原创 linux-进程
linux中 pipe 子进程写,父进程读。pipe(int pipe_fd[2])创建管道。文件描述符pipe_id[0]和pipe_id[1]分别用于管道文件的读和写。写之前,close读;读之前,close写。pid=fork()产生子进程。pid==0 为父进程, pid>0为子进程。
2012-10-16 16:54:45 535
原创 国内某大型互联网综合服务提供商上海站笔经-10月14日上午
很奇怪,一道逻辑题都没有。而且题量不大,难度仅是稍稍大点,不过一些地方是埋有地雷的,做题要小心呀。记录了几道涉及到自己知识盲点的题目。俺相信随着自己的积累,一定会钓到一条大鱼滴!加油!菜鸟们共勉啊~~一、选择题:1.求函数输出class A{public: int m_a; A():m_a(0) { cout << "A" << endl; }};class
2012-10-14 18:40:46 1034
原创 国内某知名信息安全公司上海站笔经-10月12号下午
源自于对于黑客精神的崇拜之情,对这家公司格外尊重。虽待遇不是很高,但想必在那里真正能感受程序员的乐趣。正是由于看了这家公司笔试试卷之后,俺才将之前写过的笔经中提到的公司名字抹去的。(ps:俺分享笔经也是体现了一点黑客精神滴~~)。试卷上首页标注了:商业机密;试卷最后小提醒中说不要传播笔试题目的。 俺想今天的记录只是把自己不会的或者模糊的知识点列举出来,方便自己技术的提高~~ 比重较小,也基
2012-10-13 14:39:35 2273
原创 国内某大型电子商务公司-上海站-笔经-10月11日晚
在此声明,自己写笔经只是学习共享之用。为了去泄密之嫌没写出公司名称。这也是对给予笔试机会的公司的尊重!谢谢!主要是希望自己的记录能够让自己更清楚电子商务公司对于应聘者(按应聘的是研发/算法岗)的技术要求的侧重点及其深度、广度。同时,也希望自己的一点光和热能小小的帮助你!分为三部分:一,单项选择。二,不定项选择(选对5分,漏选2分)。三,填空或问答。一、单项1.最短路径及其花费dij
2012-10-11 22:52:01 2877
原创 指针-传递动态内存
/*一道经典的面试题,有时候会搞错。贴出来,希望大家都注意。*/char * GetMemory(char *p, int num){ p = (char *)malloc(sizeof(char) * num); return p;};int main(){ char *str = NULL; str = GetMemory(str, 100); strcpy(st
2012-09-29 17:21:48 692
原创 回溯法-八皇后问题之C实现
/*八皇后问题:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线(45度)上,问有多少种摆法。*//*分析:由已知条件可知,每行有且只有一个皇后。用一个数组存放每行上皇后的位置。此数组中,下标表示行数,元素表示列数(也即本行上皇后的位置)。从第一行开始遍历每行不产生冲突的皇后位置。当第i行没有正确位置可以放的话,那么
2012-09-28 16:38:31 2734 1
原创 有幸参加了2013年9月22号美国某大型软件公司在上海的笔试,特意和大家分享一下!
第一题关于shadow cop的,当时就没明白这个单词的意思,只知道题目是与它相关的。在网上搜了搜,有了点认识。现贴如下:浅度复制和深度复制是对引用类型来说的,因为如果把一个引用类型变量赋给另一个同类型变量,如果改变一个值,两个变量都会发生变化,如果我们想要让一个改变不影响另一个变量就需要用浅度复制或深度复制。浅度复制就会复制引用类型里的所有值类型的字段,但如果有引用类型字
2012-09-22 22:19:16 3454
原创 输入一个日期和时间,输出下一秒的日期和时间
这是一道比较经典的面试题目。开始实现的时候,考虑的不是很周全、代码效率也不高,几经参考、修改得到了如下版本。个人感觉还是一段比较好的实现代码,特拿出来和大家一起分享!编译环境:VS2010 项目类型:win32 Console Application.如下是本人的拙作,欢迎大家指正,共同进步!//输入一个时间,输出下一秒的时间。//例如输入2008年2月28日23时5
2012-09-19 10:09:22 5458 1
原创 公司内如何设置LINKSYS WRT54G无线路由器实现多台PC上网
1.用网线分别将公司网口、PC网口与LAN口相连。2.设置各台机器的网络IP是自动分配的。3.设置网络代理(或者设置为自动分配:需要PC间通信的话)4.禁用DHCP。
2012-08-21 23:11:47 2241
windows核心编程第五版(英文)
2012-11-27
常用ARM指令集总结篇
2011-04-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人