原创 man epoll上的幾個問題

 Q1 What happens if you add the same fd to an epoll_set twice? 如果你把相同的文件描述符添加到epoll中兩次會發生什麼?A1 You will probably get

原创 epoll學習筆記(ET模式下事件觸發原理和數據收發存在的問題)

這篇文章所講的例子和情況可以結合《epoll的LT模式和ET模式 》這篇看。 epoll有兩種模式,Edge Triggered(簡稱ET) 和 Level Triggered(簡稱LT).在採用這兩種模式時要注意的是,如果採用ET模式,

原创 epoll的LT模式和ET模式

man page:http://linux.die.net/man/4/epoll epoll事件分發系統可以運轉在兩種模式下:ET(邊緣觸發模式)

原创 一個epoll例子(二)

/* 使用 epoll 寫的回射服務器將從client中接收到的數據再返回給client */ #include <iostream> #include <stdlib.h> #include <string.h> #includ

原创 排序算法

1、選擇排序:以升序爲例,第一次找出最小的數放在第一個位置,第二次找出剩下元素中最小的數放入第二個位置,依此類推,知道最後一個元素。最好情況是本來就有序,此時需要交換0次,最差情況是逆序,此時需要交換n-1次,總體複雜度O(n*n)。 v

原创 一個epoll例子(一)

摘自網絡的一個例子: #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #includ

原创 epoll用法

以下內容整理自網絡。 1、epoll的優點: (1)支持一個進程打開大數量的socket描述符(FD),這個數目和系統的內存有關,可以查看/proc/sys/fs/file-max來查看; (2)epoll只對活躍的socket進行操作,

原创 多進程服務器中,epoll的創建應該在創建子進程之後

 看我的測試代碼,似乎應該是在創建子進程之後創建epoll的fd,否則程序將會有問題,試將代碼中兩個CreateWorker函數的調用位置分別調 用,一個在創建epoll fd之前,一個在之後,在調用在創建之前的代碼會出問題,在我的機

原创 將一句話中的單詞進行倒換,標點符號不倒換,要求不使用輔助空間

比如一個字符串“this is a test.”,將其反轉後爲"test. a is this"。 #include <stdio.h> #include <string.h> void ReverseString(char str[]

原创 一個長度爲n的數組,其每個元素的值爲1、2、3三個數之一,將數組排序

 要求O(n)且不使用輔助空間,還要有一定的擴展性#include <stdio.h> void swap(int *a,int *b) { int tmp = *a; *a = *b; *b = tmp; } void s

原创 socket阻塞與非阻塞,同步與異步、I/O模型

 socket阻塞與非阻塞,同步與異步 作者:huangguisu 1. 概念理解      在進行網絡編程時,我們常常見到同步(Sync)/異步(Async),阻塞(Block)/非阻塞(Unblock)四種調用方式

原创 判斷一個整數x是否可以表示成n(n>=2)個連續正整數的和

這類問題一般需要先轉化成數學模型,然後根據條件來實現。設最小的數爲m,則x=m+(m+1)+(m+2)+....+(m+n-1),求出m = (2x-n*n+n)/(2n),m爲正整數且m<x。 #include <stdio.h> #i

原创 linux內核系統調用和標準C庫函數的關係分析

今天研究了一下系統調用和標準庫函數的區別和聯繫,從網上搜集的資料如下: 資料引用分割線(紅字爲自己批註的重點和總結) 《==========================================================

原创 一個不錯的shell 腳本教程 入門級

一個很不錯的bash腳本編寫教程,至少沒接觸過BASH的也能看懂 詳細出處參考:http://www.jb51.net/article/28514.htm 建立一個腳本   Linux中有好多中不同的shell,但是通常我們使用bash

原创 cocos2dx 3.0rc如何創建項目

轉自官網的文檔。 How to Run cpp-tests on win32 In this article, I will show you how to run cpp-tests on your windows PC. Envir