Time of Update: 2018-12-05
我們在用Asp.net技術開發Web應用程式後,當使用者在瀏覽器輸入一個網址時就是再向伺服器發送一個HTTP請求,此時就使用了應用程式層的HTTP協議,在上一個專題我們簡單介紹了網路通訊協定的知識,主要是為了後面講HTTP協議做一個鋪墊的,只有對HTTP協議有一個清楚的認識,這樣當我們用Asp.net技術開發Web應用程式時,我們可以多從網路通訊協定的方面去思考我們的應用程式,而不是只是單單停留在對伺服器控制項的拖拉的使用,這樣也可以協助我們開發一個自己的自訂web伺服器。在這裡我想同時把我對A
Time of Update: 2018-12-05
本周資料結構課程設計,哥挑了個簡單點的題目,用C語言編寫了一個圖形介面的吃金子小遊戲。基本想法是: 定義了一個數組,通過資料對應到螢幕的座標。 然後通過一些畫圖函數,畫出淘金者(紅色圓)和金子(黃色圓)。 通過鍵盤的上下左右鍵控制淘金者的上下左右移動。 每隔六秒鐘,遊戲介面會刷一次,此時金子會更換位置。 如果你是高手,一分鐘吃到了20個那你就Win,如果你碰到牆壁,Game Over。
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7332372在實際的應用中一個應用程式需要對多個訊號進行處理,為了方便,linux系統引進了訊號集的概念。訊號集用多個訊號組成的資料類型sigset_t.可用以下的系統調用設定訊號集中所包含的資料。1、常見訊號及定義2、sigset_t在linux2.6.39/include/asm-generic/signal.h中定義typedef struct {
Time of Update: 2018-12-05
本系列文章由muge0913編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/73347711、有時候不希望在接到訊號時就立即停止當前執行,去處理訊號,同時也不希望忽略該訊號,而是延時一段時間去調用訊號處理函數。這種情況是通過阻塞訊號實現的。 2、訊號阻塞和忽略訊號的區別。阻塞的概念和忽略訊號是不同的。作業系統在訊號被進程解除阻塞之前不會講訊號傳遞出去,被阻塞的訊號也不會影響進程的行為,訊號只是暫時被阻止傳遞。當進程忽略一個訊號時,
Time of Update: 2018-12-05
下面是一個《Teach Yourself C++ in 21
Time of Update: 2018-12-05
因為我看C++物件模型的時候,遇到了幾個記憶體布局都是有關於對齊的一些細節,故此對結構體對齊再做一份小結,有人說:結構體對齊這個東西是依賴於編譯器的,因此不用去研究,真的嘛? 也許是,也許不是,要看你是做那個行業的了,如果你是做系統地層,網路通訊,嵌入式系統的,一個位元組的節省,也許對你是很大的期望呢。雖然具體的對齊是因編譯器而異,但是對齊的基本原理是不變的,那個原理也許能指導我們編寫程式的時候按照某個原則去進行。 不過,既然你用到了C或者C++,就多數是和系統底層有緣之人了,你說是嘛?呵呵。
Time of Update: 2018-12-05
在這裡,我向大家介紹關於一套C++ Socket類,讓你可以輕鬆的在Windows程式中使用Sockets。另外,我要感謝Fabien Le Lez、www.infflux.com、和Tamas Kaskoto等一切完善這套源碼的朋友。 這裡實際有四個類組成: 1、Socket(基類) 2、SocketServer(衍生類別) 3、SocketClient(衍生類別) 4、SocketSelect(友元)
Time of Update: 2018-12-05
本文參考自:http://gyy.iteye.com/blog/166678,感謝原作者!一個定義為volatile的變數是說這變數可能會被意想不到地改變,這樣,編譯器就不會去假設這個變數的值了。精確地說就是,最佳化器在用到這個變數時必須每次都小心地重新讀取這個變數的值,而不是使用儲存在寄存器裡的備份。下面是volatile變數的幾個例子:1) 平行裝置的硬體寄存器(如:狀態寄存器) 2) 一個中斷服務子程式中會訪問到的非自動變數(Non-automatic variables) 3)
Time of Update: 2018-12-05
最近在重溫C語言,學到鏈表這一塊時,對我這個幾年沒有怎麼碰過C語言的人來說感覺比較吃力。廢話還是少說一點,費時間還費力氣敲鍵盤.......進入正題,C語言中鏈表的反轉。鏈表有兩種,帶頭結點和不帶頭結點的(兩者的區別:百度或google一下)。下面就分別對兩者的鏈表的反轉的代碼貼出如下:首先聲明的鏈表:typedef struct Node{int data;struct Node * next;}Node;帶頭結點的反轉代碼:Node *reverse(Node
Time of Update: 2018-12-05
/** * @file virtualBash.cpp * @brief * @author liugang * @version 1.0 * @date 2009-12-09 */#include <iostream>using namespace std;class Point2d{public:Point2d():_x(0),_y(0){};protected:float _x;float _y;};class Vertex : public virtual
Time of Update: 2018-12-05
如何擷取數組的長度C、C++中沒有提供 直接擷取數組長度的函數,對於存放字串的字元數組提供了一個strlen函數擷取長度,那麼對於其他類型的數組如何擷取他們的長度呢?其中一種方法是使 用sizeof(array) / sizeof(array[0]), 在C語言中習慣上在 使用時都把它定義成一個宏,比如#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} 。而在C++中則可以使用模板
Time of Update: 2018-12-05
問題引入:在實習過程中發現了一個以前一直預設的錯誤,同樣char *c = "abc"和char c[]="abc",前者改變其內容程式是會崩潰的,而後者完全正確。程式示範:測試環境Devc++代碼運行結果2293628 4199056 abc2293624 2293624 abc2293620 4199056 abc #include <iostream>using namespace std; main(){char *c1 = "abc";char c2[] =
Time of Update: 2018-12-05
本系列文章由muge0913整理編寫,轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7337737訊號作為非同步進程的通訊方式,在實際應用中是方便而實用的。但是,也應該注意到在使用訊號時的潛在危險。在此簡單介紹幾種可能引發錯誤的具體情況,希望在實際進行訊號處理時特別注意。 當註冊了一個訊號處理函數時,可能會對某些系統調用進行修改。通常來講,它們本來應是不受訊號的影響,但由於註冊了一個訊號處理函數,系統可能會認為在一個訊號到來時需要中斷
Time of Update: 2018-12-05
總結C++中的所有強制轉換函式(const_cast,reinterpret_cast,static_cast,dynamic_cast)C 風格(C-style)強制轉型如下:(T) expression // cast expression to be of type T函數風格(Function-style)強制轉型使用這樣的文法:T(expression) // cast expression to be of type T這兩種形式之間沒有本質上的不同,它純粹就是一個把括弧放在哪的問題
Time of Update: 2018-12-05
1 strlen/*原型:size_t strlen(const char *s)功能:擷取字串s的長度說明:*/int stringlen(const char *s)...{ int i=0; while(*s++)i++; //只能是*s++,不能++*s,因為s是const char* return i;} 2 strcmp/*原型:extern int strcmp(char *s1,char * s2);功能:比較字串s1和s2。說明:
Time of Update: 2018-12-05
自己寫的代碼,調試過應該沒有BUG,還望大神指正#include<stdio.h>#include<stdlib.h>#define N 100typedef struct tree{ int data; struct tree* left; struct tree* right;}Tree,*tree_ptr;int init_tree(Tree **root,int value){ *root=(Tree *)malloc(sizeof(Tree));
Time of Update: 2018-12-05
一個簡單的類比鍵盤滑鼠操作的類,擴充 VirtualKeys 枚舉就可以了,或者直接寫!using System;using System.Runtime.InteropServices;using System.Text;class Keyboard { const uint KEYEVENTF_EXTENDEDKEY = 0x1; const uint KEYEVENTF_KEYUP = 0x2; [DllImport("user32.dll")]
Time of Update: 2018-12-05
c# web service安裝有誤的解決辦法篇一:無法在web伺服器上啟動調試。伺服器不支援對asp.net或ATL 一文:Web 無法啟動調試疑難解析(待續)昨天安裝了Server-U 不知道預設了什麼,VS2008的Web項目就不能夠運行了。環境:XP SP3、VS2008 SP1、建立Web應用程式、基於local IIS.報告如此下錯誤:Q: 無法web伺服器上啟動調試,無法串連到web伺服器。請驗證web伺服器正在運行,並且防止防火牆沒有阻止傳入的http請求......A:
Time of Update: 2018-12-05
一直在學習Java,碰到了很多問題,碰到了很多關於i++和++i的難題,以及最經典的String str = "abc"共建立了幾個對象的疑難雜症。 知道有一日知道了java的反組譯碼 命令 javap。現將學習記錄做一小結,以供自己以後翻看。如果有錯誤的地方,請指正 1.javap是什麼: where options include:-c Disassemble the code-classpath <pathlist> Specify where to find user
Time of Update: 2018-12-05
先來看看全域變數和全域靜態變數和局部靜態變數的區別:全域變數:整個檔案的函數都可訪問 全域靜態變數:整個檔案的函數都可訪問,但它是靜態分配記憶體 局部靜態變數:就是只能在函數內使用,記憶體也是靜態分配 int i; //全域變數 static int j; //全域靜態變數 void f() { static int k; //局部靜態變數