自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Harry的专栏

专注于Deep Learning, MT, NLP,能力是一种态度

  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 看似简单,但是经常出错的微软面试题(C/C++)1

<br />在面试过程中,不少人有这样的经历。笔试题感觉做的很好,但是没有应聘上。为啥?看似简单的问题,面试官的要求就越高,这时候需要考虑的问题的方方面面,一不小心,就大意失荆州。<br />下面看一个简单的微软面试题:把一个字符串转换成整数。大多数人,一看到这个标题,大多数人觉得“小意思”,我不到三分钟就搞定它。<br />int StrToInt(char* string){ int number = 0; while(*string != 0)

2011-02-26 18:00:00 1849

原创 Unix进程控制之4---避免产生僵死进程

<br />在前一部分提到了僵死进程的概念,如果我们写一个进程,这个进程fork了一个新的子进程。而,我们不想等待这个进程完全结束,不想在主程序结束时,这个子进程变成僵死进程。利用量词调用fork可以达到这一目标。<br />下面为一个例子,及解释:<br />#include<stdio.h>#include<sys/wait.h>int main(int argc, char **argv[]){ pid_t pid; printf("Main pid is %d./n",getpi

2011-02-21 20:27:00 1322

原创 Unix进程控制之3---wait函数系列

<br />如果一个进程结束了,不论是正常的还是非正常的,内核都会通过发送SIGCHLD信号给父进程。子进程的结束是个异步事件,父进程执行这个信号,通过内核的异步通知。<br />父进程通过调用wait和waitpid可以1:如果所有的子进程正在运行,父进程阻塞。2:如果一个子进程结束了,父进程通过wait取得了结束进程的状态值,父进程会立即随着子进程的结束状态返回。3:如果进程没有子进程那么返回error。<br />wait和waitpid的函数原型及头文件定义<br />#include <sys/w

2011-02-21 17:41:00 2280

原创 Linux wait 函数实参为指针时,没有预期结果,原因及其解决办法

<br />在Linux/Unix中wait一般用在,用户主程序调用fork产生一个新的进程后,等待子进程执行完毕。在标准的Unix中wait的头文件定义为:<br />#include <sys/wait.h><br />pid_t wait(int *statloc);<br />在Linux中,定义为:<br />/*come from /usr/include/sys/wait.h<br />  Wait for a child to die. When one does, put its stat

2011-02-21 15:52:00 1583 1

原创 Unix进程控制之2---exit进程退出函数

<br /><br />一:进程退出函数详解<br />在前一篇的Unix进程环境之---进程结束的方式和退出函数中提到了Unix程序退出的八中方式,分别为:<br />1:从 main 函数返回<br />2:调用 exit 函数<br />3:调用 _exit 函数或者是 _Exit 函数<br />4:从最后一个线程中返回<br />5:从最后一个线程中调用 pthread_exit<br />还有三种非正常的结束方式:<br />6:调用 abort<br />7:接收到信号<br />8:应答最后

2011-02-20 21:29:00 2671 2

原创 Unix进程控制之1---fork和vfork函数

<br /><br />一:fork函数<br />一个运行中的进程可以调用fork函数来产生一个新的进程,函数原型及头文件定义如下:<br />#include <unistd.h><br />pid_t fork(void);<br />Returns: 0 in child, process ID of child in parent, 1 on error<br /> <br />下面有几个细节性问题来说明:<br />1:普通的函数被调用时会有一次返回,fork函数会有两次返回。在进程中返回0,在

2011-02-19 21:13:00 1640

原创 Unix进程环境之3---进程环境列表

<br /><br />1:进程环境<br />简介当一个进程(proecss)调用另一个程序(program)时,同时会传递这个程序执行的环境列表(environment list)。<br />进程环境列表是一个字符指针数组,每个字符指针是一个以空字符(null-terminated)结束的C字符串。<br />字符指针数组地址包含在全局变量environ里。如下:<br />extern char **environ;<br />加入环境包含五个字符串,则表示为以下图示:<br /><br />通常环

2011-02-17 16:50:00 1331

原创 Unix进程环境之---进程结束的方式和退出函数

<br />1:进程结束方式<br />在Unix环境中,有8中方式可以结束一个进程,通常用的是以下五种方式:<br />1:从main函数返回<br />2:调用exit函数<br />3:调用_exit函数或者是_Exit函数<br />4:从最后一个线程中返回<br />5:从最后一个线程中调用pthread_exit<br />还有三种非正常的结束方式:<br />6:调用abort<br />7:接收到信号<br />8:应答最后一个线程的取消请求<br />后三种结束方式和线程有关,以后再讨论。

2011-02-17 11:42:00 2283

原创 Unix进程环境基本概念之---工作目录

         在Unix或者是类Unix(Linux)系统中,每个进程都有“工作目录(working directory)”,有时候也成为“当前工作目录(current working directory)”。在由工作目录的参考下,产生了相对路径概念。        在程序共可以利用chdir函数来改变程序的工作目录。         在程序运行时工作目录是不能被删除的,所以在编写守候的服务进程是一般把当前的工作目录转移到一个特定的目录,比如/tmp。确保程序不会占用额外的目录,实质不能被删除。

2011-02-16 21:23:00 1401

转载 C++各大有名库的介绍

<br /><br />C++各大有名库的介绍<br /><br />在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。<br /><br />1、C++标准库<br /><br />已被实践证明为有

2011-02-12 19:18:00 840

转载 C++虚函数表解析

<br /><br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。<br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面

2011-02-10 20:55:00 1028 1

非递归形式的N皇后问题---用C#实现、VS2008可以执行

非递归形式的N皇后问题---用C#实现、VS2008可以执行

2010-11-23

makefile 用法--最全的教程--pdf格式

makefile 用法--最全的教程--pdf格式

2010-10-27

空空如也

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

TA关注的人

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