Time of Update: 2018-12-06
使用宏定義 在C語言中,宏是產生內嵌代碼的唯一方法。對於嵌入式系統而言,為了能達到效能要求,宏是一種很好的代替函數的方法。 寫一個"標準"宏MIN ,這個宏輸入兩個參數並返回較小的一個: 錯誤做法:#define MIN(A,B) ( A <= B ? A : B ) 正確做法:#define MIN(A,B) ((A)<= (B) ? (A) : (B) ) 對於宏,我們需要知道三點: (1)宏定義"像"函數; (2)宏定義不是函數,因而需要括上所有"參數"; (
Time of Update: 2018-12-06
本教程參考C#和ASP.NET程式設計教程撰寫,有什麼不足之處請大家指出,或在老貓的理想BLOG留言。 首先講解一下c#,這裡只是粗略的講解,詳細內容請購買相關書籍,或參閱相關文檔。c#已經取消了c++中的指標,並且在c++中大量被使用的操作符 (::
Time of Update: 2018-12-06
C#WinForm中按鈕響應斷行符號事件的簡單方法 from:http://www.cnblogs.com/domainblogs/archive/2009/02/26/1398406.htmlWinform中的按鈕要響應斷行符號事件,是很簡單的事情!只要在表單中的屬性設定一下就可以了! 比如有登入表單(Form_Login),包含有兩個按鈕登入 (btnLogin)和退出(btnExit),想要登入
Time of Update: 2018-12-06
C語言初學者應該知道的(二) ——如何提問
Time of Update: 2018-12-06
歡迎進入記憶體這片雷區。偉大的Bill Gates 曾經失言:640K ought to be enough for everybody — Bill Gates
Time of Update: 2018-12-06
漢文書處理 現在要解決的問題是,嵌入式系統中經常要使用的並非是完整的漢字型檔,往往只是需要提供數量有限的漢字供必要的顯示功能。例如,一個微波爐的LCD上沒有必要提供顯示"電子郵件"的功能;一個提供漢字顯示功能的空調的LCD上不需要顯示一條"短訊息",諸如此類。但是一部手機、小靈通則通常需要包括較完整的漢字型檔。 如果包括的漢字型檔較完整,那麼,由內碼計算出漢字字模在庫中的位移是十分簡單的:漢字型檔是按照區位的順序排列的,前一個位元組為該漢字的區號,後一個位元組為該字的位號。每一個區記錄94個
Time of Update: 2018-12-06
基本解釋 通過上一篇的分析,我們已經很清楚地知道:指標不是一個簡單的類型,它是一個本身和所指向物相複合的類型。指標的算術運算(如步進)與指標所指向物的類型密切相關。 問題:指標步進 & 步進單位 下面的代碼中列印出的結果是幾?int arContext[5] ={0,1,2,3,4}, i, *pAr;pAr = arContext;printf ("%d\n", *(pAr + 3 * sizeof
Time of Update: 2018-12-06
問題:記憶體使用量 有人寫了一個將整數轉換為字串的函數:char *itoa (int n){ char retbuf[20]; sprintf(retbuf, "%d", n); return retbuf;} 如果我調用這個函數:char *str5 = itoa(5),str5會是什麼結果呢? 答案分析: 答案是不確定,可以確定的是肯定不是我們想要的 “5”。
Time of Update: 2018-12-06
7.7 杜絕“野指標”“野指標”不是NULL指標,是指向“垃圾”記憶體的指標。人們一般不會錯用NULL指標,因為用if語句很容易判斷。但是“野指標”是很危險的,if語句對它不起作用。“野指標”的成因主要有兩種:(1)指標變數沒有被初始化。任何指標變數剛被建立時不會自動成為NULL指標,它的預設值是隨機的,它會亂指一氣。所以,指標變數在建立的同時應當被初始化,要麼將指標設定為NULL,要麼讓它指向合法的記憶體。例如 char *p = NULL; char *str = (char *
Time of Update: 2018-12-06
概述 在很多情況下,尤其是讀別人所寫代碼的時候,對C語言聲明的理解能力變得非常重要,而C語言本身的凝練簡約也使得C語言的聲明常常會令人感到非常困惑,因此,在這裡我用一篇的內容來集中闡述一下這個問題。 問題:聲明與函數 有一段程式儲存在起始地址為0的一段記憶體上,如果我們想要調用這段程式,請問該如何去做? 答案 答案是(*(void (*)( ) )0)( )。看起來確實令人頭大,那好,讓我們知難而上,從兩個不同的途徑來詳細分析這個問題。
Time of Update: 2018-12-06
C#與Java的比較(轉二)5. 指代(Delegate)
Time of Update: 2018-12-06
轉載於:http://www.kehui.net/html/article/26/26000.html我看見網上有人問IComparer介面的使用,於是寫了個小例子,和大家一塊分享。有不足之處,望不吝指正1、建一個結構僱員的結構 private struct Eployee{ public string name; public int age; public string sex; }2、建立3個"僱員" Eployee ep1=new
Time of Update: 2018-12-06
最近寫了一個程式,需要在伺服器上運行,編完了以後,到伺服器運行,發現,用遠程登陸開啟這個程式,沒有問題,可是過了十分鐘,遠程伺服器自動登出了,程式也就終止。這樣,程式就不能正常工作。想了一天多的辦法,終於在今天把這個問題解決了。首先用.net寫個服務 建立一個服務,在設計頁面上點右鍵,出現菜單後,選擇添加安裝程式。這時會出現一個新的頁面,頁面上有個控制項 serviceProcessInstaller1和serviceInstaller1
Time of Update: 2018-12-06
File(檔案)對象代表—個檔案,並為檢測檔案是否存在、檔案更名和檔案刪除提供了一些有用的方法。所有這些方法都是靜態,也就是說,不能使用NEW運算子建立File的執行個體,但可以直接使用File的方法。if(File.Existas("File.txt")) File.Delete("File.txt");也可以用File對象獲得用於讀寫檔案資料的檔案流(FileStream)。FileStream fs =
Time of Update: 2018-12-06
1.委託概述委託是C#中新加入的一個類型,可以把它想作一個和Class類似的一種類型,和使用類相似,使用一個委託時,需要兩個步驟,首先你要定義一個委託,就像是定義一個類一樣;然後,你可以建立一個或多個該委託的執行個體。定義一個委託的文法是這樣的:[public/protected/private] delegate returnType delegateName(paramtype
Time of Update: 2018-12-06
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System.Management;擷取CPU序號代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->string cpuInfo = "";/
Time of Update: 2018-12-06
以下是自己在工作中使用過的,確實可用.當然還有很多方法,以及其他資料庫.我會繼續補上... 1.C#串連AccessCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
1 顯示圖片主要命令:Image.FromFile();graphics.DrawImage(image);CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> protected override void OnPaint(PaintEventArgs paintEvnt) {
Time of Update: 2018-12-06
如何控制好多個線程相互之間的聯絡,不產生衝突和重複,這需要用到互斥對象,即:System.Threading 命名空間中的 Mutex
Time of Update: 2018-12-06
as 運算子as 運算子用於在相容的參考型別之間執行轉換。例如:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->string s = someObject as string;if (s != null){ // someObject is a string.} 備忘as 運算子類似於強制轉換操作。但是,如果無法進行轉換,則 as 返回