Time of Update: 2018-12-04
多線程對共同資源的訪問,往往會造成資料的混亂和不可預料的結果,因此一般需要加鎖訪問進行互斥訪問。所謂“互斥訪問”是指,一段代碼或者公開變數,在一個時刻只允許一個線程去訪問,其他的線程需要等待,直到改線程處理完畢並通知下一個等待的線程去處理。1、可以用“Lock”來提供代碼的互斥訪問:lock (一個類的樣本、靜態變數的類名){ // 代碼}2、可以用“Monitor”來提供變數的互斥訪問:int money;Monitor.Enter(money);//
Time of Update: 2018-12-04
昨天晚上看到劉江的blog又補充了好幾大段,今天早上又看到雲風的人肉trackback,果然還是這種話題引人關注。 雲風先是提了一下所謂C++帶來的思想包袱(文言文曰“心智包袱”)問題,然後重重地引用了Linus的話:“關鍵是設計”,其實他是在暗示:好的設計C同樣能做出來,不勞C++大駕;而C++一旦出面,就要讓人背上額外的思想包袱。 我明確地表個態,在系統級程式設計中,事實就是這樣的。
Time of Update: 2018-12-04
用vs2008調試c#代碼F5:運行,繼續運行(相當於eclipse中的F8)F10:下一步,逐句(相當於eclipse中的F6)F11:進入方法裡面(相當於eclipse中的F5)F12:轉到定義(eclipse中的F3)F7:查看原始碼CTRL+PAUSE/BREAK
Time of Update: 2018-12-04
特註:運行該程式需要設定VC6.0環境Project->Setting->C/C++->Category->Code Generation->Using Run-time library->Debug MultiThreaded#include <iostream>#include <list>#include <windows.h>#include <process.h>using namespace std;
Time of Update: 2018-12-04
這個程式僅供編程參考若想在平時用,請下載微軟的wallpaper changer我這個程式實現了定時更換案頭背景的功能命令列 wallpaper "your images' directory path" time_in_minute 編程要點findfirstfile findnextfile 尋找影像檔SystemParametersInfo 修改系統資訊,在這兒當然是案頭背景註冊表操作 儲存資訊 如果做得實用,應加入開機啟動功能,自然還要gui//wallpaper.c//by
Time of Update: 2018-12-04
4. 磁碟檔案的開啟和關閉 開啟 ofstream outfile; if(outfile.open("f1.data",ios::app)==0) // 開啟 cout<<"開啟失敗!"; …………………… outfile.close(); //關閉 5. 檔案寫入#include <fstream&
Time of Update: 2018-12-04
(點擊此處,接上篇)有時候,即使編譯器完全心甘情願地 inline 一個函數,它們還是會為這個 inline function 產生函數本體。例如,如果你的程式要持有一個 inline function 的地址,編譯器通常必然為它產生一個 outlined 函數本體。它們怎麼能拿得出一個指向根本不存在的函數的指標呢?再加上編譯器一般不會對通過函數指標的調用進行 inlining(內聯化)的事實,這就意味著,對一個 inline function
Time of Update: 2018-12-04
[Intel Architecture 32 Manual] 字,雙字,和四字在常態範圍上不需要在記憶體中對齊。(對字,雙字,和四字來說,常態範圍分別是偶數地址,可以被4整除的地址,和可以被8整除的地址。) 無論如何,為了提高程式的效能,資料結構(尤其是棧)應該儘可能地在常態範圍上對齊。原因在於,為了訪問未對齊的記憶體,處理器需要作兩次記憶體訪問;然而,對齊的記憶體訪問僅需要一次訪問。
Time of Update: 2018-12-04
記憶體管理的基礎是要知道怎麼獲得以及釋放記憶體,如你所知,在C/C++中就是調用new和delete操作。1. 分清operator new和new operator 全域函數operator new通常這樣聲明:void * operator new(size_t size);傳回值類型是void*,表示其返回的是一個未經處理(raw)的指標,指向未初始化的記憶體。參數size_t確定分配多少記憶體。你能增加額外的參數重載函數operator
Time of Update: 2018-12-04
近日踱入書店,驚訝的發現國內又出了一本C++教材.紅色封面,厚重莊嚴,書脊上印有“國家XXX優秀教材”等熟悉字樣,拿起來一翻,作者竟是如雷貫耳的譚浩強老先生.這位出生C語言的老教授在C領域的貢獻可以說是“地球人都知道”(連我這個不學C的都知道^_^).但是,令我驚訝的事情來了:翻開目錄,從頭到尾瀏覽了一遍...嗯,不錯,中規中矩,有條有理,井然有序,巨細靡遺(還有什麼成語來著?^_^!)但是,(咦,我為什麼要說“但是”呢?),我驚訝的discover:居然整個目錄沒有任何地方提及template
Time of Update: 2018-12-04
引用自:http://exc.eption.blog.163.com/blog/static/11246421620093111247823/如何更改vs2005測試預設瀏覽器更改方法:開啟 C:/Documents and Settings/Administrator/Local Settings/Application Data/Microsoft/VisualStudio/8.0/browsers.xml(轉帖者註:我做的時候是開啟C:/Documents and Settings/
Time of Update: 2018-12-04
來自:http://blog.sina.com.cn/s/blog_673ccb5b0100hpjq.html System.Diagnosties.Process p=new System.Diagnosties.Process();p.StartInfo.FileName="cmd.exe";//要執行的程式名稱p.StartInfo.UseShellExecute=false;p.StartInfo.RedirectStanderInput=true;//可能接受來自調用程式的輸入資訊p.
Time of Update: 2018-12-04
講述動態產生RSS檔案的方法。動態產生RSS檔案也基本有兩種方法,一種是用字串累加的方法,另一種是使用xml文檔產生的方法。字串累加的方法也比較簡單,我也就不多說了,這裡著重說一下產生XmlDocument的方法,包括各種節點的建立,屬性的建立等。當然在此也有必要說明一下為什麼採用後者,因為後者符合XML DOM標準,有利於你認識dom模型,並且構造速度更快,構造出的xml文檔更不容易出錯,其中有一些細節我也會做一些必要的講述。 主方法如下:private void WriteRSS(){
Time of Update: 2018-12-04
你可以在一個類中聲明一個事件如下:class A{ public event EventHandler TestEvent; // 這裡:事件名一般大寫,用一個委託來定義,委託前面加上關鍵字event protected virtual void OnTestEvent(EventArgs e) { if(this.TestEvent != null) { this.TestEvent(this,e); //這裡: 觸發事件函數通過委託 }
Time of Update: 2018-12-04
class A{ internal int k; }struct B{ internal int k;}class Test{ internal A a; internal B b; // internal A Ap{get;set;} internal B Bp{get;set;}}下面 我要為大家構造一個關於結構的錯誤, 構造這個錯誤(異常CS1612)之前 先來看看類的情況//using System; class Program{ static
Time of Update: 2018-12-04
本人初學C#約一兩個月吧,因為工作原因不能專註學習。俺是英語系畢業,編程這東西對俺來說可想而知。前些天欲開發一個爬蟲程式,就開始了偶的另一個翻山曆程(之前開發過幾個網站,通過解決問題學到了不少東西)。剛拿到手裡時一點頭緒都沒有。怎麼獲得網上檔案?大家別笑,知道我當時的想法嗎?當時我就用Stream方法試了一下,你別說,還真能開啟。但後來想想,這個架構都叫.NET,會沒有面向網路的專門的類嗎?於是我發現了Uri和WebClient和WebRequest等。嘿嘿^_^接下來一個問題讓我想了好幾天,看
Time of Update: 2018-12-04
這個簡單的問題似乎困擾著很多人,筆者之前也比較困擾,而且嘗試用過添加註冊表和在安裝程式中添加事後小程式註冊等方法,都不是太理想。後來發現這個問題極其簡單,真是慚愧,原拿出來與大家共用,以使更少的人走太多彎路。方法如下 1. 建立一個安裝工程2. 添加好所要安裝的檔案(安裝工程會自動判斷其依賴性,但僅有這個還不夠)3.
Time of Update: 2018-12-04
C#使用微軟網頁瀏覽器控制項譯文見:http://blog.csdn.net/Felomeng/archive/2007/05/17/1613495.aspxSummary: This walkthrough demonstrates how to use the Microsoft Web browser control and the Microsoft Document Object Model (DOM) to programmatically access the elements
Time of Update: 2018-12-04
註:與官方翻譯版本(http://code.google.com/p/zh-google-styleguide/downloads/list)不同,本文為本人原創翻譯。
Time of Update: 2018-12-04
在網上找到了一個名為SVG-Convert-Driver-XAML-0.02的開原始碼, 解壓縮之後發現,它並不是使用.net代碼寫的,