- 博客(56)
- 资源 (8)
- 收藏
- 关注
转载 发布iOS应用(xcode5)到App Store(苹果商店) 详细解析
目录(?)[+]摘要 当我们辛苦的弄好一个应用后,想要让大家搜得到,就要将应用提交到苹果商店去,下面介绍提交的流程发布iOS应用 xcode5 苹果商店目录[-]第一步 —— 到 itunes connect 网站提交申请应用说明第二步 ——打包程序第三步——将应用提交到app store第一步 —— 到
2015-01-13 08:54:44 942
转载 苹果推送
人生如戏博客园首页博问闪存新随笔联系订阅管理[转]ios push转:http://blog.csdn.net/showhilllee/article/details/8631734APNS的推送机制首先我们看一下苹果官方给出的对ios推送机制的解释。如下图 Provider就是我们自己程序
2014-09-18 14:59:40 1127
转载 Nginx源码分析-connections数组
转载申明:本文可以任意转载,但需注明原文地址,谢谢! 本文的标题让我纠结了好久,不知道是connections数组合适,还是connections链表更合适;Nginx在此或多或少的注入了二者的特点,先不管是叫数组还是叫链表吧,只要能够弄明白这个connections是怎么回事就大功告成。Nginx的每个worker进程都使用一个相同的connections数组来维护每个连接。当有
2014-05-16 16:37:59 855
原创 mysql 限制
多少个数据库,是没有限制的,但是数据表的大小是有限制的.(前提是,这以前都要满足硬件的要求,文件的大小当然也不能超过操作系统支持的文件最大尺寸. 1:对于ISAM数据表,单个.ISD和.ISM文件的最大尺寸都是4GB 2:对于MyISAM数据表,单个.MYD和.MYI默认也是4GB,但是可以在创建数据表的时候,利用AVG_ROW_LENGTH和MAX_ROWS选项把这个最大值扩大到800万
2012-07-14 09:09:15 5605
转载 VC 绘图,使用双缓冲技术实现
1. 首先定义类成员: CDC *m_pDC; CDC MemDC; CBitmap MemBitmap; CBitmap *pOldbitmap; LONG xRange; // 逻辑范围,x方向宽度 LONG yRange; // 逻辑范围,y方向高度 LONG nWidht; // 物理范围,x方向宽度 LONG n
2012-05-21 08:38:43 2977
转载 WM_ERASEBKGND和WM_PAINT的深刻理解 .
一直以来,对于WM_PAINT和WM_ERASEBKGND消息不是很清楚,从书上和网上找了很多资料,大体上有以下几点说法:1>WM_PAINT先产生,WM_ERASEBKGND后产生2.WM_PAINT产生后,在调用BeginPaint时hdc = BeginPaint(hWnd, &ps); 如果ps.fErase为true,则BeginPaint会产生WM_ERASEBKGND
2012-05-17 14:47:47 1278
转载 VC++6.0 程序使用XP风格样式
1、实现原理: 微软为Windows XP提供了Themes服务。Themes可以让程序具有“XP风格”,看起来更美观,因为微软更新了Comctl32.dll(ver 6.0)这个“XP风格”的控件。微软还为了保留传统的Windows界面风格,特地留下了Comctl32.dll v5.8。VC6的推出时间早于WinXP,因此VC6的程序默认是不使用“xp风格”的。 程序使用
2012-05-17 10:01:03 818
转载 CComboBox控件详解
CComboBox控件又称作组合框控件,其有三种形态可供选择,1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down list). CComboBox控件的常用设置属性说明: type属性:里面一共有三个选项.就是其三种形式, 我们常用的是后两种形态,其区别就是Dropdown的编辑区为可编辑控件,而dropl
2012-05-17 09:02:44 777
转载 深入理解MFC子类化(二)
原理探讨 追溯的目标:在整个程序中的哪个位置改变了m_edit关联窗口的消息处理函数。 首先,来探讨一下m_edit和窗口关联实现:m_edit.SetclassDlgItem(IDC_EDIT1,this);我们进入该函数中看看:BOOL CWnd::SubclassDlgItem(UINT nID, CWnd* pParent){ ASSER
2012-05-15 17:06:47 1009
转载 深入理解MFC子类化(一)
子类化,通俗来讲就是用自己的窗口处理函数来处理特定消息,并将自己其他消息还给标准(默认)窗口处理函数。在SDK中,通过SetWindowLong来指定一个自定义窗口处理函数:SetWindowLong(hwnd, GWL_WNDPROC, (LONG)UserWndProc);。可是到了MFC中,大部分基础的东西都被封装起来了,那么,这是该怎么实现子类化呢? 先来看一个例子:
2012-05-15 17:06:11 828
转载 SubClassWindow详解
许多Windows程序员都是跳过SDK直接进行RAD开发工具[或VC,我想VC应不属于RAD]的学习,有些人可能对子类化机制比较陌生。 我们先看看什么是Windows的子类化。Windows给我们或是说给它自己定义了许多丰富的通用控件,如:Edit、ComboBox 、ListBox……等,这些控件功能丰富,能为我们开发工作带来极大方面,试想:我们单单是自己实现一个EDIT控件是多么的艰难!但
2012-05-15 16:48:41 699
原创 VC++6.0 静态文本
待解决问题:MFC中静态文本框等静态控件的的修改解决方案:1. 修改静态控件ID(原始都是IDC_STATIC),改成别的任何的都可以,如这里我改成 IDC_TOTAL_CASES2. 比如我想一打开dialog就显示,那么就在OnInitDialog()中写上SetDlgItemText(IDC_TOTAL_CASES,ss);或者GetDlgItem(IDC_TOTAL_CAS
2012-05-06 11:57:13 2912
转载 Linux环境进程间通信: 共享内存
采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,
2012-05-01 17:00:11 709
转载 如何实现进程池
http://blog.csdn.net/guosha/article/details/3874998 有位站友问,如何在linux下实现进程池技术,原贴见:http://topic.csdn.net/u/20090206/16/b424e1c1-90dc-4589-a63f-1d90ed6560ae.html。之前虽对进程池这个名词早有耳闻,但一直没有真正接触过。乍一听好像有点复
2012-04-12 21:35:44 5918
转载 linux 进程之间的比较和选择场合
1.# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正
2012-03-24 19:09:11 884
原创 struct timeval和gettimeofday()
struct timeval结构体在time.h中的定义为: struct timeval { time_t tv_sec; /* Seconds. */ suseconds_t tv_usec; /* Microseconds. */ }; 其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_usec为微秒struct timeval结构体在time.h中的定
2012-03-18 10:21:42 11492
原创 C++中的hash_map——Linux下g++和Windows下VC++下头文件,命名空间
在Linux下g++的形式:头文件:: #include 命名空间:: using namespace __gnu_cxx; 使用上和map区别不大,差别主要在性能上。map采用红黑树的方式,而hash_map采用哈希的方法, 插入:: 所以map的插入和删除速率要比hash_map高,hash_map要做冲突处理。
2012-03-18 10:20:33 5489 1
转载 linux hash_map
为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典 ... 这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的
2012-03-18 10:19:37 4114
转载 map vector
标 题: [合集] map或vector进行搜索时的效率差别有多大?发信站: BBS 水木清华站 (Wed May 12 18:58:19 2004), 站内☆─────────────────────────────────────☆ epoh (epoh) 于 (Sun Mar 14 16:36:19 2004) 提到:我的程序要读入一些字符串,记录它们出现的
2012-03-18 09:09:44 2669
转载 CArray实现机制
<!-- /* Font Definitions */ @font-face {font-family:SimSun; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:宋体; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signatu
2012-03-18 09:08:41 836
转载 STL学习笔记1(CArray与vector)
先做一个有趣的实验,测试一下 CArray和 vector添加数据的效率: 结果 (VS2005, release,默认优化 O2): 可以看到,当需要添加大量数据时, CArray明显比 vector慢。 测试代码: [cpp] view plaincopyprint?const int TEST_CASE_SIZE = 5;
2012-03-18 09:07:43 1308
原创 oracle 查询表结构
通过数据字典来获取, SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH FROM USER_TAB_COLUMNS WHERE TABLE_NAME NOT IN ( SELECT VIEW_NAME FROM USER_VIEWS ) and table_
2012-03-16 21:44:09 602
原创 linux g++ 动态库
Linux下创建静态、动态库 源码 -----------a.cpp--------------- #include int a(int i) { printf("in a(int a) %d\n", i); return 0; } -----------b.cpp---------------- #include int
2012-03-08 14:27:41 1097
转载 linux网络服务器模型
Linux系统网络服务器模型主要有两种:并发服务器和循环服务器。 所谓并发服务器就是在同一个时刻可以处理来自多个客户端的请求;循环服务器是指服务器在同一时刻指可以响应一个客户端的请求。而且对于TCP和UDP套接字,这两种服务器的实现方式也有不同的特点。 1、TCP循环服务器: 首先TCP服务器接受一个客户端的连接请求,处理连接请求,在完成这个客户端的所有请求后断开连接,然后再接受
2012-03-05 12:15:52 618
转载 Unix下五种I/O模型
I/O复用:Select和Poll函数1.I/O模型a. Unix下共有五种I/O模型阻塞I/O非阻塞I/OI/O复用(select和poll)信号驱动I/O(SIGIO)异步I/O(Posix.1的aio_系列函数)b.阻塞I/O模型应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。如果数据没有准备好,一直等待。。。。数据准备
2012-03-01 11:21:12 542
转载 select, poll和epoll的区别(转贴)
selectselect最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。select的一个
2012-03-01 10:27:40 611
转载 linux中select()函数分析
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式
2012-02-29 12:14:47 478
原创 Starting MySQL.Manager of pid-file quit without updating fi[失败]
之前机子装过mysql,所以可能存在遗留文件,我删除了/ect/my.cnf,然后,使用下面方法:rm -rf /var/lib/mysqlcd mysql scripts/mysql_install_db –user=mysql chown -R root . chown -R mysql datachgrp -R mysql . cp support-files/m
2012-02-28 14:46:33 3026
转载 从另一个线程将recvfrom从阻塞状态唤醒
UDP的多线程程序,一般开一个线程循环调用recvfrom接收消息,当程序中止的时候,如果这个线程阻塞在recvfrom调用,并且没有消息到达,则这个线程无法终止,造成资源泄露等问题。这里终止这个线程有六种方法:1. 释放监听的fd,这个是最简单的方法,但是有一点要注意,就是close(fd)系统调用无效,必须要使用shutdown(fd, SHUT_RDWR)来将recvfrom唤醒,因
2012-02-28 12:51:26 2624
转载 centos 安装MySQL全过程
1、到chinaunix下载mysql 下载地址: http://download.chinaunix.net/download/0008000/7159.shtml 2、上传到CentOS服务器 本例放在 /home/jiangfeng3 中 3、创建mysql组及用户 [root@localhost ~]# groupadd mysql [r
2012-02-26 14:53:03 522
原创 linux mysql
[root@zzh /]# yum installlibtermcap-devel安装必要包[root@zzh /]# groupaddmysql建立mysql组用户[root@zzh /]# useradd -gmysql mysql建立mysql用户并-g加入组mysql
2012-02-26 14:50:45 782
转载 LINUX多播编程
一.单播,广播和多播1.单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机进行通信,而不是整个局域网上的所有主机,这就是多播的用途。2.多播的概念: 1>多播,也称为“组播”,将局域网中同一业务类型主机进行了逻辑上的分组,进行数据收
2012-02-19 10:20:14 716
原创 linux 安装 oracle 常见问题
1.2问题1解决方法 要在图形界面下安装oracle,因此需要oracle用户能启动X(图形界面)。(1)以root用户身份执行su - xclock (2)执行xhost + (3)切换到oracle用户。su – oracle,再执行./runInstaller。1.3问题2描述执行./runInstaller时出现:准备从以下地址启动 Oracle Univers
2012-02-18 13:42:18 2007
转载 采用多播传送FIX行情数据的推荐方案
多播传输技术通常被认为在分发大批量相同数据到大量接收者的一种非常有效的方式。在提供重要交易数据服务的金融组织中,该技术被广泛使用。IP多播网络提供一个支持将IP数据包转发给一组在多个位置的接收者的机制。IP单播网络支持将IP数据报发送给一个特定位置的单个接收者,而IP广播则支持将IP数据包发送给一个特定位置的所有接收者。IP多播网络优势的本质在于一个单一的IP数据包可以由一个服务产生,然后
2012-01-31 11:44:26 921
原创 linux线程知识
一、基本概念1、线程是计算机中独立运行的最小单位。进程是分配资源的单位。2、为什么使用多线程?(1)启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需
2012-01-08 21:54:26 2018
原创 SUID,SGID,SBIT
前期准备:一,概念一个进程的 real user ID【实际用户ID】 是指运行此进程的用户角色的 ID【表示进程是哪个用户的】一个进程的 effective user 【有效用户ID】ID 是指此进程目前实际有效的用户 ID(也就是权限的大小),effective user ID 主要用来校验权限时使用,比如打开文件、创建文件、修改文件、kill 别的进程,等等【表示进程的权限】。
2012-01-03 20:56:39 2377
原创 轮询(polling)
一个子进程要等待其父进程终止,则可使用下列形式的循环:while(getppid() != 1) sleep(1);这种形式的循环被称为了轮询(polling),这种处理方式是浪费了CPU时间,因为调用者每个1秒都被唤醒,然后进行条件测试。
2012-01-01 19:53:10 1744
原创 linux 父子进程联系
由于linux是一个多用户的操作系统,在同一时间可能会有多个用户争夺系统资源,进程为了及时,及早的完成任务(得到系统资源)就创建了子进程来争夺系统资源。一旦子进程用fork()创建成功,父子进程就会一起从fork处继续执行【例1】,两个进程相互争夺系统资源。 我们希望子进程继续执行,这个时候就得让父进程挂起,直到子进程完成任务,那么在这种情况下我们就得用函数wait或者waitpid
2012-01-01 16:53:46 6840
转载 从U盘安装Linux 与XP形成双系统
现在系统是Windows XP,今日想装个Linux系统玩玩,来个双系统。由于笔记本光驱坏了,故想起了通过U盘安装。硬盘共40G,有四个盘C,D,E,F,每个盘为10G,现进行以下操作来进行:前期工作:Cent OS 5.5 DVD 4个G,我的U盘是8G的,够用。1.下载Linux,我比较喜欢CentOS,最新版Cent OS 5.5官网 http://www.centos.
2011-12-11 20:04:01 3932
转载 PreSubclassWindow
PreSubclassWindowPreSubclassWindow是一个很好的定制控件的位置。如果我们通过重载CWnd::PreCreateWindow定制控件,而用户在对话框中使用控件。由于对话框中的控件窗口是通过CreateDlgIndirect创建,不经过CWnd::CreateEx函数,PreCreateWindow函数不会被调用。其实,用户要在对话框中使用定制控件,必须用DDX
2011-12-03 21:47:17 679
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人