- 博客(96)
- 资源 (20)
- 问答 (31)
- 收藏
- 关注
原创 求职面试总结
从三月份的参加阿里实习生面试到现在10.16签到创维,我认为其实做任何事情都没有捷径,但是绝对是有方法的: 1.有名企实习生经历,如果能在三月份被录用到名企做实习生,相信你校招的时候根本不会有任何压力,很多企业都会给你绿色通道,到时候你只要把握好自己想进入的行业就好,行业最重要,工资次之。 2.大学的成绩GPA & 大学的大型竞赛(不仅限于编程)& 大学的任职
2015-12-30 16:58:30 962
原创 TCP的三次握手和四次挥手
要搞懂这个首先得了解TCP报文段和及其首部格式,如图:ACK : TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1SYN : 在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文。对方若同意建立连接,则应在响应报文中使SYN=1和ACK=1. 因此, SYN置1就表示这是一个连接请求或连接接受报文。
2015-08-26 10:47:45 770
原创 基于对话框的应用程序,点击按钮打开一个网页
核心:使用Webbrowser控件添加一个新的对话框,右键 Insert ActiveX control,选中双击对话框生成响应的类(Web),并为webbrowser绑定成员变量(m_Web)在OnInitDialog()函数中加: m_Web.Navigate("http://202.200.144.63/(gac14yvwcsjrzj45cx1fq4ed)/default
2015-08-23 21:40:02 3127
原创 c++中四种类型转换
reinterpret_cast(原类型变量)//重解释类型转换dynamic_cast(expression)//动态类型转换static_cast(expression)//静态类型转换const_cast(expression)//返回一个指向非常量的指针1.const_cast:常量指针被转化成非常量的指针,并且仍然指向原来的对象;常量引用被转换成非常量的引用,并且仍然指
2015-08-11 16:51:33 584
原创 虚函数运行机制
class A {public: virtual void foo (void) { ... } virtual void bar (void) { ... }};class B : public A {public: void foo (void) { ... }};int main(){ A* pa = new A; pa->foo ();
2015-08-11 13:29:11 1453
原创 单例模式的两种实现方式
1. 饿汉模式:#include using namespace std;class Singleton {public: static Singleton& getInst (void) { return s_inst; }private: Singleton (void) {} Singleton (const Singleton&); static Single
2015-08-06 16:27:57 1719
原创 线程同步---条件变量
1. 问题引入:互斥锁问题,假设现在有两个资源A和B,一个线程先拿A再拿B,另一个则相反,这样导致的问题就是死锁,即两个线程无休止的互相等待#include #include #include #include pthread_mutex_t g_mtxa = PTHREAD_MUTEX_INITIALIZER;pthread_mutex_t g_mtxb = PTHREAD_MU
2015-08-03 15:58:37 1682 1
原创 线程同步---信号量(无名)
1. 有名信号量&无名信号量 在POSIX标准中,信号量分两种,一种是无名信号量,一种是有名信号量。无名信号量只用于线程间的同步,有名信号量只用于进程间通信。信号量是属于POSIX:SEM的,不是属于POSIX:THR的,需要的文件头是。两者的共同点都是相当于计数器,用于限制多个进程对有限共享资源的访问2. 相关函数1)创建信号量int sem_init (sem_
2015-08-03 13:14:46 1827
原创 线程同步---互斥量mutex
1. 问题引入:开两个线程同时对一个全局变量10万次做自加,结果会如何?#include #include #include unsigned int g_cn = 0;void* thread_proc (void* arg) { unsigned int i; for (i = 0; i < 100000; i++) ++g_cn; return NULL;}
2015-08-02 22:07:45 711
原创 XSI进程间通信---信号量
1. 基本特点 1) 相当于计数器,用于限制多个进程对有限共享资源的访问。 2) 多个进程获取有限共享资源的操作模式 A. 测试控制该资源的信号量; B. 若信号量大于0,则进程可以使用该资源, 为了表示此进程已获得该资源,需将信号量减1; C. 若信号量等于0,则进程休眠等待该资源, 直到信号量大于0,进程被唤醒,执行步骤A; D. 当某进程不再使用该资源时,信号量增1,
2015-08-01 23:02:24 1753
原创 XSI进程间通信---消息队列
1. 基本特点 1) 消息队列是一个由系统内核负责存储和管理,并通过消息队列标识引用的数据链表,消息队列 和有名管道fifo的区别在: 后者一次只能放一个包,而前者则可以放很多包,这样就能处理发包快,哪包慢的问题 2) 可以通过msgget函数创建一个新的消息队列, 或获取一个已有的消息队列。 通过msgsnd函数 (send)向消息队列的后端追加消息, 通过msgrcv(rece
2015-08-01 20:44:08 1056
原创 读《追随智慧》(二)
假如一个人过多地夸耀自己以往的经验,在微软看来,这也许正是思维枯竭的征兆,至少也存在陷入“思维瓶颈”的倾向。这“瓶颈”通常不是缺少经验所致,而恰是经验太多的结果。把一大堆固定知识装满脑子的学生,犹如把一大堆僵死经验装满脑子的老人。成功有时候并不是一个好老师,它有可能让聪明人的思想枯竭,走进死胡同。 有人可能会想,我只要勤奋努力,坐在房间里面想破了头,还干不成吗?我告诉你:干不成!除非
2015-07-31 22:18:00 672
原创 对线程的深入学习(三)
1. 线程执行轨迹1) 同步方式(非分离状态):创建线程之后调用pthread_join函数等待其终止,并释放线程资源。2) 异步方式(分离状态):无需创建者等待,线程终止后自行释放资源int pthread_detach (pthread_t thread); 使thread参数所标识的线程进入分离(DETACHED)状态。处于分离状态的线程终止后自动释放线程资源,且
2015-07-30 22:53:46 680
原创 对线程的深入学习(二)
验证怎么向线程中传递参数:#include #include #include #include #include #include #define PAI 3.14159void* thread_area (void* arg) { double r = *(double*)arg; *(double*)arg = PAI * r * r; return NU
2015-07-30 21:59:41 690
原创 对线程的深入学习(一)
1. 创建线程int pthread_create (pthread_t* restrict thread, const pthread_attr_t* restrict attr, void* (*start_routine) (void*), void* restrict
2015-07-30 18:39:21 931
原创 XSI IPC机制
XSI(System Interface and Headers),代表一种Unix系统的标准XSI IPC,依托标识符和键来实现的,如同管道靠文件描述符来实现一样。包含了三种通信机制:消息队列,信号量,共享内存1. IPC标识 内核为每个进程间通信维护一个结构体形式的IPC对象。该对象可通过一个非负整数的IPC标识来引用。与文件描述符不同,文件描述符总是找当前系统中可用的最小的数
2015-07-29 14:57:58 2251
原创 对fork函数理解
头文件: #include pid_t fork (void);1. 创建一个子进程,失败返回-1。2. 调用一次,返回两次。分别在父子进程中返回子进程的PID和0。利用返回值的不同,可以分别为父子进程编写不同的处理分支。#include #include int main (void) { printf ("%u进程:我要调用fork()了...\n", getpid (
2015-07-29 11:05:51 1932 1
原创 文件的属性
1.解释下边一行的含义:-rw-r--r-- 1 root root 0 Jun 12 17:44 a第一个字段 : -:表示a是文件 rw-:文件拥有者的属性 r--:文件所属用户组的属性 r--:其他人对此文件的属性第二个字段:表示链接所占的节点数为1第三个字段:表示文件的拥有者第四个字段:表示拥有者的用户组第五个字段:表示文件大
2015-07-28 13:22:45 1174
原创 有名管道和无名管道
管道:1. 管道是Unix系统最古老的进程间通信方式,其实质是一个虚拟文件,是在内核中维护了一个消息队列。2. 历史上的管道通常是指半双工管道,只允许数据单向流动。现代系统大都提供全双工管道,数据可以沿着管道双向流动。 有名管道(fifo):1. 概念:基于有名文件(管道文件)的管道通信2. 命令形式: # mkfifo fifo 创建管道
2015-07-28 11:11:57 1022
原创 进程间通信的分类
1. 什么叫进程间通信? 进程间通信(Interprocess Communication)是指两个或多个进程之间进行数据交换的过程,也称IPC 。2. 为什么要有IPC? 因为进程之间存在天然的内存壁垒,虽然维护了了数据的可靠性,但同时也阻塞了进程间的通信。3. 分类: 1) 简单进程间通信:命令行参数、环境变量、信号、文件。 2) 传
2015-07-28 10:42:01 926
原创 构造函数初始化列表和构造函数体内赋值
#include using namespace std;class A{public: A(int a,string str) { m_a = a; m_str = str; } //A(int a,string str):m_a(a),m_str(str){} void print() { cout << m_a << ' '<< m_str<< en
2015-07-24 11:13:23 1045
原创 函数指针和指针函数
函数指针1. 什么是函数指针?函数指针指向的是特殊的数据类型,函数的类型是由其返回的数据类型和其参数列表共同决定的,而函数的名称则不是其类型的一部分。本质是一个指针变量。2.初始化和赋值我们知道,不带下标操作符的数组名会被解释成指向首元素的指针。当一个函数名没有被调用操作符修饰时,会被解释成指向该类型函数的指针。假如我们现在实现了一个函数func:int lex
2015-07-23 21:54:37 652
原创 读《追随智慧》(一)
科学研究是一项非常艰巨的任务。当你开始进行一项研究时,你要求研究人员做一些难以实现的事情,因为以前从没有人做过这些事情。迎战这些问题的主要资源是智慧超群的优秀人才。科学研究管理的关键在于如何找到这些人才,为他们提供良好的科研环境,让他们的好奇心和专业才能得到充分的发挥,创造出新的、了不起的发明。因为人才是成功研究的先决条件,我们决意追随人才,到人才济济的地方开设研究分院。
2015-07-21 21:01:14 825
原创 指向指针的引用和指向指针的指针
1. 指向指针的引用#include #include using namespace std;// int *&lhs 的定义应该从右向左理解:// lhs 是一个引用,与指向 int 的指针相关联。// 也就是说,lhs 是传递进 ptrswap 函数的指针的别名。// 注意:不能这样定义:int &*lhs,编译报错提示为:cant declare pointer to “i
2015-07-20 14:47:50 1108
原创 STL中四种随机迭代器
1. 迭代器的存在价值:为所有容器提供一组公共接口,可以遍历容器中所有元素,可以看做是一种smart pointer,因为它重载了++和 * 运算符2. 四种随机迭代器vector::iterator - 正向迭代器(相当于指针)vector::const_iterator - 常正向迭代器vector::reverse_iterator - 反向迭代器vector::con
2015-07-20 08:37:10 3481
原创 引用的存在价值
实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”这东西?答:“用适当的工具做恰如其分的工作”分析: ①一般而言,当你需要考虑“不指向任何对象”的可能性时,或者是考虑“在不同时间指向不同对象”的能力时,你就应该采用指针。 前一种情况可以将指针设置为 null, 后一种情况可以改变指针所指向的对象。 ②而当你确定“总是会代表某个对象”,并且“
2015-07-19 12:04:35 668
原创 利用map的特性做一个简易的投票程序
pair1. 概念:pair是 一种模版类型,每个pair 可以存储两个值,这两种值的类型无限制。也可以将自己写的struct类型的的对象放进去。2. 用法:pairp (1,2);pair p1= make_pair(1,2);3. 编写程序读入一系列string和int型数据,将每一组存储在一个pair对象中,然后将这些pair对象存储在vector容器并显示#inclu
2015-07-19 11:36:38 876
原创 单文档视图应用程序
1. 单文档视图应用程序和多文档的区别:前者在某一时刻只能管理一个文档,而后者可以管理多个2. 文档模板类作用:用统一的方式创建框架、视图、文档对象。CDocTemplate: 抽象基类,提供了所有文档模板的功能。 CSingleDocTemplate:单文档模板类 CSingleDocTemplate( UINT nID
2015-07-17 08:15:27 1757
原创 CDocument类的使用
首先我们来写一个例子:在视图类中显示文档类的数据1.建一个win32简单应用程序2. 删除入口函数,只留下#include "stdafx.h"3.将stdafx.h中的头文件 更改为 。4.Project-->Settings菜单项中设置使用MFC库5.编写代码:// MFCDoc.cpp : Defines the entry point for the ap
2015-07-15 21:20:18 4413
原创 切分窗口
说明: 切分窗口是对动态创建机制的运用1、分类:动态和静态 动态切分-程序在运行时,由用户拖动分隔条动态的切分窗口。每一个视图窗口使用的是相同的视图类。 静态切分-在编码创建时已经完成窗口切分。每一个视图窗口可以使用不同的视图类。(超市的监控)2 、动态切分 建一个win32简单应用程序, 删除入口函数,将stdafx.h中的头文件 更
2015-07-15 10:17:13 1411
原创 MFC消息分类及处理方式
1. 标准消息 除WM_COMMAND之外,所有以WM_开头的消息;从CWnd派生的类,都可以接收到这类消息,比如: ON_WM_CREATE 对应WM_CREATE消息 ON_WM_PAINT 对应WM_PAINT消息 ON_WM_MOUSEMOVE 对应WM_MOUSEMOVE消息 ON_WM_XXX ……对上边列举
2015-07-13 21:05:37 1409
原创 CView类的使用
首先我们来写一个例子:1.建一个win32简单应用程序,不要认为这样就不能写出MFC程序,因为是不是MFC程序取决于调没调MFC函数。2. 删除入口函数,只留下#include "stdafx.h"3.将stdafx.h中的头文件 更改为 。4.Project-->Settings菜单项中设置使用MFC库5.编写代码:#include "stdafx.h"#i
2015-07-06 06:39:55 3289
原创 vc6.0调试程序常用快捷键和MFC中做宏代换的技巧
1. vc6.0的常用快捷键 Ctrl L 删除 Ctrl C 拷贝一行 (不用选中) Ctrl B 编辑断点 Ctrl f5 执行程序 f1 选中点f1可跳到msdn中查看函数 f9 加断点和取消断点 f5 进入调试状态,跳到断点处 f10 执行下一步 f11 进入函数内部 f12 选中点f12可以进入函数的定义处,
2015-07-04 15:38:09 631
原创 MFC六大机制之五:动态创建机制
什么叫动态创建??? 创建位置类型的对象,我们可以先写一个创建对象的函数,要求是任何类的对象都可以使用该函数去创建,也包括后来定义的类。(你给我哪个类这个函数就能创建这个类的对象,函数在类的定义之前) 1.建一个win32控制台程序。 2.将stdafx.h 添加头文件。 3.Project-->Settings菜单项中设置使用MFC库
2015-07-04 14:28:11 961
原创 MFC六大机制之四:运行时类信息机制(RTTI)
首先得说明究竟什么是运行时类信息: 程序在运行时,得到对象的类信息以及所属类的继承层次关系。RTTI(Run-Time Type Information,运行时类型信息),下边通过一个例子来说明 1.建一个win32简单应用程序。 2.将stdafx.h中的头文件 更改为 。 3.Project-->Settings菜单项中设置使用MFC库 4
2015-07-03 22:14:41 729
原创 关于gets()/puts() 和getchar()/putschar() 和getline()
gets()/puts() 是对字符串的操作,getchar()/putschar()是对字符的操作gets()从标准设备读取字符直到遇到换行符为止;getchar()读取标准输入的下一个字符,直到遇到文件结束标志或发生错误。puts()将buffer中的字符输出到标准输出,直到遇到空字符('\0')为止;putchar(c)将c对应值输出到标准输出。成功的话返回c失败返回EOF#include ...
2015-07-01 12:41:21 882
原创 char[] ,char*,string 三者的区别及转换
1. char[] p表示p是一个数组指针,相当于const pointer,不允许对该指针进行修改。但该指针所指向的数组内容,是分配在栈上面的,是可以修改的。char *s1 = "hello";char s2[] = "hello";s2=s1; //编译ERRORs1=s2; //OK2. char * pp表示pp是一个可变指针,允许对其进行修改,即可以指向其他地方,如p
2015-06-30 23:09:49 722
原创 统计一句话中有多少个单词,并分行打印。
1. 统计一句话中有多少个单词,并分行打印。#include using namespace std;int main (void) { char ch = ' '; int count= 0; string s ; string ss; cout <<"输入:" << endl; getline(cin,s);// 这里可以在输入时不让c
2015-06-30 09:03:54 1833
原创 MFC六大机制之三:消息映射机制
上篇我们通过重写WindowProc函数来处理消息,今天我们采用下面的方法实现同样的功能 1.建一个win32简单应用程序,不要认为这样就不能写出MFC程序,因为是不是MFC程序取决于调没调MFC函数。2. 删除入口函数,只留下#include "stdafx.h"3.将stdafx.h中的头文件 更改为 。4.Project-->Settings菜单项中设置使用MFC库
2015-06-28 23:12:46 12584
原创 MFC六大机制之二:窗口创建机制
我们也通过一个简单的MFC程序进行研究1.建一个win32简单应用程序,(因为是不是MFC程序取决于调没调MFC函数)2. 删除入口函数,只留下#include "stdafx.h"3.将stdafx.h中的头文件 更改为 。4.Project-->Settings菜单项中设置使用MFC库。 5.编写代码// MFCCreate.cpp : Defines the e
2015-06-27 22:27:24 1118
帧动画用的loading素材
2017-12-15
SharedPreferences的形式在缓存中维护两个List,对其进行增删等操作
2016-12-05
android TV开发:实现3D仿Gallery效果
2016-10-27
使用ViewPager实现图片自动轮播效果
2016-10-26
RecycleView实现横向的Listview并响应点击事件
2016-10-25
选项卡在底部的TabHost实现
2016-10-09
TextView实现文字的跑马灯效果&TextSwitcher实现文字竖直飞出和飞入
2016-10-08
安卓纯代码布局
2016-09-20
IPC三层通信
2016-09-12
AIDL简单通信的demo
2016-09-10
MFC六大核心机制
2015-07-06
安卓控件和焦点框发生偏离的现象怎么处理
2016-10-31
ViewPager如何获取当前页面前后页面的view,需要对其前后页面做放大缩小操作
2016-10-22
安卓中TabHost控件焦点问题
2016-10-10
android studio 中布局文件xmlns报错问题
2016-10-09
xml布局可以用findviewbyid来得到布局中的控件,那么代码布局中怎么得到?
2016-10-08
安卓中代码纯代码布局中这么使用LayoutInflate,或者和它一样功能的函数有哪些
2016-10-07
主线程 传递给子线程一个数据
2016-08-17
在安卓电视上做一个类似于悬浮窗的东西,要求切换视频的时候这个悬浮窗一直存在
2016-08-15
关于蓝牙协议在安卓端的应用
2016-08-11
c++发送邮件附件乱码问题
2016-06-04
telnet下能不能删除163邮箱的邮件?
2016-05-23
修改编辑框字体后出现问题
2016-05-19
邮件正文显示在控制台下有换行,在对话框上没换行
2016-05-19
邮件附件发送和下载 和 文件发送和接收有没有区别?
2016-05-06
邮件发送遇到问题,最后这个“.”发送失败
2016-04-28
eclipse配置编写javaweb程序
2016-01-12
为什么模板类的声明和实现必须定义在一个.h文件中?
2015-09-01
下拉框SetCurSel( 0 );没起作用?MFC
2015-08-24
怎么让MFC中Webbrowser控件的大小随对话框变化而变化?
2015-08-23
关于HttpSendRequestA函数发送请求成功后,保存网页返回内容的问题
2015-08-22
MFC在登陆页面中 加一个显示验证码的控件应该加哪个?图片从一个网页中加载出来的
2015-08-20
关于一个大数据量的查找算法
2015-08-20
view parse 和 view source
2015-08-19
关于二叉树的插入,传参的小问题
2015-08-17
MFC登陆教务处“操作超时”
2015-08-17
关于MFC中SendRequest操作超时的函数
2015-08-17
用MFC写一个程序登陆到学校教务处,把成绩那个页面解析到自己的列表控件中
2015-08-16
bubuko.com这个网站怎么会有我昨天晚上写的博文?而且几乎是同步的,不止有我的……
2015-08-02
关于父子进程对代码段的共享问题
2015-07-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人