Time of Update: 2017-01-18
Lua 是一門輕巧、靈活、擴充性很強的指令碼語言,它可以很容易的嵌入到其他語言(C/C++)中使用,這主要得益於其提供了功能強大的 C API,這讓其跟 C/C++ 間的互調成為一件很輕鬆的事。Lua 調用 CLua 調用 C 函數,其實就是把 C 函數註冊到 Lua 中去,把 C 函數地址傳遞給 Lua 解譯器。這個傳遞是要遵循一個的協議的,即:複製代碼 代碼如下:typedef int (*lua_CFunction)(lua_State* L)Lua 和 C
Time of Update: 2017-01-18
我在《Linux 多線程服務端編程:使用 muduo C++ 網路程式庫》第 1.9 節“再論 shared_ptr 的安全執行緒”中寫道:(shared_ptr)的引用計數本身是安全且無鎖的,但對象的讀寫則不是,因為 shared_ptr 有兩個資料成員,讀寫操作不能原子化。根據文檔(http://www.boost.org/doc/libs/release/libs/smart_ptr/shared_ptr.htm#ThreadSafety), shared_ptr
Time of Update: 2017-01-18
在C中,預設的基礎資料類型均為signed,現在我們以char為例,說明(signed) char與unsigned char之間的區別。首先在記憶體中,char與unsigned char沒有什麼不同,都是一個位元組,唯一的區別是,char的最高位為符號位,因此char能表示-127~127,unsigned
Time of Update: 2017-01-18
1.使用winapi “SetParent” 介面: 複製代碼 代碼如下: [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); 複製代碼 代碼如下: control.Dock = DockStyle.None; control.Left = 0; control.Top = 0; control.Width =
Time of Update: 2017-01-18
Double顯示轉換int 複製代碼 代碼如下: static void Main(string[] args) { Console.WriteLine("5.1~{0}", (int)5.1d); Console.WriteLine("5.5~{0}", (int)5.5d); Console.WriteLine("5.8~{0}", (int)5.8d); Console.WriteLine("2.1~{0}", (int)2.1d); Console.WriteLine("2.5~{0}"
Time of Update: 2017-01-18
單體模式(Singleton)是經常為了保證應用程式操作某一全域對象,讓其保持一致而產生的對象,例如對檔案的讀寫操作的鎖定,資料庫操作的時候的交易回復,還有工作管理員操作,都是一單體模式讀取的。 建立一個單體模式類,必須符合三個條件: 1:私人建構函式(防止其他對象建立執行個體); 2:一個單體類型的私人變數; 3:靜態全域擷取介面
Time of Update: 2017-01-18
Regex(regular expression)描述了一種字串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。轉義匹配文法: “\”+實際字元 \ . * + ? | ( ) { }^ $ [ ] 例如:\\匹配字元“\” \n 匹配換行 \r 匹配斷行符號 \t 匹配水平定位字元 \v 匹配垂直定位字元 \f 匹配換頁 \nnn 匹配一個8進位ASCII \xnn 匹配一個16進位ASCII \unnnn
Time of Update: 2017-01-18
本文執行個體講述了C#使用系統方法發送非同步郵件。分享給大家供大家參考,具體如下:項目背景:最近在對幾年前的一個項目進行重構,發現發送郵件功能需要一定的時間來處理,而由於發送是同步的因此導致在發送郵件時無法執行後續的操作實際上發送郵件後只需要將發送結果寫入系統日誌即可對其他業務沒有任何影響,因此決定將發送郵件操作更改為非同步由於使用的是C#的郵件類庫,而C#本身已經提供了非同步發送的功能即只需要將Send方法更改為SendAsync即可,更改方法名並不難但發送後再寫入日誌就有點難了因為項目中發送
Time of Update: 2017-01-18
利用C#編寫一個計算機。如下圖,能夠完成基本的四則運算。當然這個程式甚至還不上Windows附件那個內建的多功能計算機。 不過這個程式的邏輯還是非常值得思考的,首先你要考慮好使用者按+ - * /
Time of Update: 2017-01-18
本文執行個體講述了C#訊號量用法。分享給大家供大家參考,具體如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;/* * 標題:如何使用訊號量的範例程式碼 * Author:kagula * Date:2015-6-16 * Environment:VS2010SP1, .NET Framework 4 client profile,
Time of Update: 2017-01-18
從今天開始寫關於C#的系列文章,本篇文章主要講解C#中的委託使用。委託其實就是一種資料類型,和int,string是一樣的概念。如果要把一個字串賦值給一個變數,用string聲明一個變數即可。如果要把一個方法賦值給一個變數,那麼用什麼關鍵字呢?當然就是用委託了,所以用委託聲明的變數就可以接受一個方法了,之後那個變數就可以像方法一樣執行。下面開始詳細介紹:先看一段代碼: static void Main(string[] args) { int i; //可以接受一個整數的變數
Time of Update: 2017-01-18
// 舉個例子:一個網站有使用者系統、商家系統、網站後台3個系統//可以分3個userType, user ,shop , system//網站後台一般都有角色,如admin,employee//那麼網站的角色就有 user,shop,admin,employee,但是admin和employee在一個用戶端是不能同時登陸的,所以他們是同一類使用者(system)使用方法:1、添加一個類LoginUser.cs 代碼如下:代碼:namespace MVCCommonAuth{ #region
Time of Update: 2017-01-18
1、原理:從數組的第一個位置開始兩兩比較array[index]和array[index+1],如果array[index]大於array[index+1]則交換array[index]和array[index+1]的位置,止到數組結束;從數組的第一個位置開始,重複上面的動作,止到數組長度減一個位置結束;從數組的第一個位置開始,重複上面的動作,止到數組長度減二個位置結束;。。。。2、時間複雜度:O(N²),進行了(n-1)*(n-2)....=n*(n-1)/2次比較和約比較次數一半的
Time of Update: 2017-01-18
先給大家介紹下C#中的迴圈執行for迴圈在這一節練習中,我們向大家介紹一下C#中的另一種重要的迴圈語句,for迴圈。for(運算式1;運算式2;運算式3) { 迴圈體
Time of Update: 2017-01-18
static的全部用法 要理解static,就必須要先理解另一個與之相對的關鍵字,很多人可能都還不知道有這個關鍵字,那就是auto,其實我們通常聲明的不用static修飾的變數,都是auto的,因為它是預設的,就象short和long總是預設為int一樣;我們通常聲明一個變數: int a; string s;
Time of Update: 2017-01-18
本文執行個體講述了C#遍曆集合與移除元素的方法。分享給大家供大家參考,具體如下:如果用foreach,會造成被遍曆的集合更改後帶來異常問題。此時,用for迴圈可有效解決這個問題。for(int i=0;i<List.Count;i++){ if(條件是真) { List.Remove(List[i]); i--; }}或者,再用另外的一個List集合儲存要刪除的對象。List<T> newlists=new List<T>();foreach(T t in
Time of Update: 2017-01-18
1.資料 資料(Data)是外部世界資訊的載體, 是能夠被電腦識別,加工,儲存的。在現實生活中也就是我們的產品原材料。 電腦中的資料包括數值資料,圖片,影音資料等.2. 資料元素和資料項目 資料元素(Data Element)是資料的基本單位,在電腦處理的過程中通常是作為一個整體來作為處理的。 資料項目(Data
Time of Update: 2017-01-18
本文執行個體講述了C#中list用法。分享給大家供大家參考,具體如下:protected void Page_Load(object sender, EventArgs e){ List<string> studentNames = new List<string>(); studentNames.Add("John"); studentNames.Add("Mary"); studentNames.Add("Rose"); //顯示各元素 foreach (
Time of Update: 2017-01-18
介面地址:http://www.juhe.cn/docs/api/id/129using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.IO;using Xfrog.Net;using System.Diagnostics;using System.Web; //----------------------------------/
Time of Update: 2017-01-18
一、基本概念C#只有兩種資料類型:實值型別和參考型別實值型別線上程棧分配空間,參考型別在託管堆分配空間實值型別轉為參考型別稱成為裝箱,參考型別轉為實值型別稱為拆箱以下是實值型別和參考型別對照表從上圖可以簡單看出:string,Object,數組,class是參考型別,簡單類型,枚舉,結構是實值型別。二、代碼展示定義一個類和結構調用賦值記憶體配置情況如下圖:從這張圖可以看出,class執行個體化出來的對象,指向了記憶體堆中分配的空間;truct執行個體化出來的對象,是在記憶體棧中分配。修改代碼如下