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/7339671 檔案是有名字的一組相關資訊的集合,在Linux 系統中,檔案的準確定義是不包含有任何其他結構的字元流。通俗地說,就是檔案中的字元與字元之間除了同屬於一個檔案之外,不存在任何其他的關係。檔案中字元的關係,是由使用檔案的應用程式來建立和解釋的。每一個檔案都具有特定的屬性。Linux
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
雖然Ubuntu 的版本已經是9.10了,但不想去升級,畢竟256記憶體真的折騰不起。對於我來說,穩定才是最重要的,硬體不需要追求太高,所以還是老老實實的呆在9.04上,於是今天我也嘗試去配置了Ubuntu C/C++ 開發環境:1、配置GCC其實剛裝好的系統中已經有GCC了,但是這個GCC什麼檔案都不能編譯,因為沒有一些必須的標頭檔,所以要安裝build-essential這個軟體包,安裝了這個包會自動安裝上g++,libc6-dev,linux-libc-dev,libstdc++6-
Time of Update: 2018-12-05
1
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
可以顯示一,二,三,四家的牌主要是為了訓練我的牌感(記牌的能力),對有志於賭博或者橋牌事業的同志可能還有點用編譯為bd.exe,使用方法輸入"bd -h"看協助以下是原始碼(處理命令列參數的代碼參考了vim):#include <iostream>#include <algorithm>#include <functional>#include <vector>using namespace std;#include <cstdlib>
Time of Update: 2018-12-05
文章標題:C指標應用常見繆誤文章作者:半點鐘閑文章撰寫日期:2005-10-18發布日期:2005-10-18 12:10 今天在寫程式的時候,遇到了幾個關於指標方面的問題,覺得很典型(對於初學者來講)。所以決定把它寫出來一來練練文筆,二來也存個檔為以後查閱方便吧。工科不善文筆的我,就用代碼來說明問題。前言: 一、文章中所說的C指的是ANSI C,是由ANSI/ISO 9899-1990[ANSI 90]進行定義並由[KERN 89]進行描述的。 所有代碼的執行環境如下: 作業系統:
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:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );} 試題2:void test2(){ char string[10], str1[10]; int i; for(i=0; i<10; i++) { str1[i] = 'a'; } strcpy( string, str1 );} 試題3:void test3(char* str1){ char string[1
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")]