- 博客(14)
- 资源 (8)
- 收藏
- 关注
原创 《UNIX环境高级编程》笔记——进程(二)
进程控制进程标示符每个进程都有一个非负整数表示的唯一ID。虽然是唯一的,但是进程ID可以重用。当一个进程终止后,其进程ID就可以再次使用了。ID为0的通常是调度进程,常被称为交换进程,也被称为系统进程;ID为1的通常是init进程;ID为2的通常是页守护进程。#include #include pid_t getpid(void); return PIDpid_t getpp
2015-12-31 21:32:18 1133
原创 《UNIX环境高级编程》笔记——进程(一)
进程环境1. Main函数 C程序总是从main函数开始执行,main函数原型为 int main(int argc,char *argv[]); 其中,argc是命令行参数的数目,argv是指向参数的各个指针所构成的数组。当内核执行一个C程序时(使用exec函数),在调用main前先调用一个特殊的启动例程,可执行文件将此启动例程指定为程序的起始地址。启动例程从内核取得命令行参数
2015-12-31 11:27:05 1401
原创 《UNIX环境高级编程》笔记——线程
线程与进程的概念 进程是具有独立功能的程序在某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位;线程是进程的一个实体,一个进程可以包含一个或多个进程,线程是CPU调度和分派的基本单位。使用多线程的好处 简化处理异步时间的代码。通过为每种事件类型的处理分配单独的线程,能够简化处理异步事件的代码。 共享方便。多个线程自动地可以
2015-12-30 20:09:22 1033
原创 标准IO与文件IO
标准IO 标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性。标准IO库处理很多细节。例如缓存分配,以优化长度执行IO等。 标准的IO提供了三种类型的缓存: (1)全缓存:当填满标准IO缓存后才进行实际的IO操作。 (2)行缓存:当输入或输出中遇到新行符时,标准IO库执行IO操作。
2015-12-29 22:17:23 978
原创 LeetCode-Remove Nth Node From End of List
方法一:先计算出链表总的节点数,再找要删除的节点ListNode* removeNthFromEnd(ListNode* head, int n) { if(head==NULL) return NULL; int count=0; ListNode *tempNode1=head,*tempNode2=head; wh
2015-12-07 21:43:34 909
原创 LeetCode -Longest Common Prefix
代码最简洁的:string longestCommonPrefix(vector& strs) { if(strs.size()==0) return ""; for(int i=0;i<strs[0].size();i++)//每一字符串位置下标 for(int j=1;j<strs.size();j++)//第几个字符串 if((i>=strs
2015-12-07 11:00:18 843
原创 Linux命令-压缩解压命令
1、压缩解压命令GZIPgzip命令能够压缩和解压以.gz结尾的文件,命令格式如下:gzip [选项] 文件名 我们还可以指定压缩的百分比,共有1-9,9个压缩比,1的压缩比最差,但速度最快,而9的压缩比最好,但是比较慢,默认的为级别6.gzip命令选型gzip命令选项选项说明-d解压
2015-12-06 14:51:29 1119
原创 Linux命令-权限设置
在Linux中,一个用户对一个文件(目录)是否有权利去使用,是根据此文件(目录)设置的权限决定的。每个用户都至少属于一个组。Linux中的一个文件在正常情况下是属于一个用户所有,将此用户称为文件所有者(也可以称为属主),而将一些用户统一分在一个组里,设定此组对文件操作的权限。对于超级用户来说,它拥有所有权限。1、查看权限属性(ls -l)用法:LS -L [文件或者目录名]图
2015-12-06 13:41:20 3043
原创 LeetCode-Add Two Numbers
题目:给出两个数字,他们是反向保存在链表中的,计算两个数的和,也反向保存在链表中返回。方法:我开始想到的就是先将链表中的数字还原,然后相加,再反向保存到链表中,很是麻烦。这就是常规思路,总想着数字都是从左到右相加有进位的向左边进位,其实可以摆脱常规,数字从左向右相加也可以的,有进位就向右进位。代码:ListNode* addTwoNumbers(ListNode* l1, Li
2015-12-06 13:19:41 822
原创 LeetCode-TwoSum
题目:给一串数字和一个目标数字,在数字串中寻找两个数加起来等于目标数字的数,返回其下标。方法(12ms):vector twoSum(vector& nums, int target) { vector oldvector=nums; //保存一份原始vector int low,high,mid; int num1=0,num2=0; int index1=0,index
2015-12-05 10:08:49 808
原创 预编译头文件(stdafx.h)
1、概念所谓的预编译头文件,这里的头文件一般就是我们常见的的“staafx.h",这个名字是微软默认的,英文全称:Standard Application Framework Extensions.名字可以改,内容也可以改。它通常就是把一个工程中使用的一些MFC标准头文件(如windows.h,afxwin.h)进行预先编译。以后工程编译时,不在编译这部分头文件,仅仅使用编译的结果。注意,头文
2015-12-03 19:33:16 1550
原创 LeetCode-Longest Substring Without Repeating Characters
题目:给一个字符串,找出没有重复的最长字串方法一:int lengthOfLongestSubstring(string s) { if(s=="") { return 0; } map mymap; int p1=0,p2=1; //两个指针 int longthest=1; //最长的 mymap.insert(pair(s[p1],p1)); while(p2
2015-12-03 15:57:13 789
原创 LeetCode-Palindrome Number
什么是回文数字:就是正着看和反着看是一样的数字,就是回文数字,比如:1234321,45654是回文数字,而1234这样的就不是回文数字。代码(72ms):bool isPalindrome(int x) { if(x==0) //0也是回文数字 { return true; } else
2015-12-02 10:49:26 763
原创 LeetCode-String To Integer
拿到这道题不要一分钟就写出了如下代码,int myAtoi(string str) { int num=0; int i=0; for(int i=0;i<str.size();i++) { num=num*10+str[i]-'o'; } return num;}好简单啊,真有这么简单吗,当然不是啦!得考虑如下几点:
2015-12-02 10:03:37 816
RGB数据生成BMP图片
2015-07-03
即时抓图Filter
2015-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人