Time of Update: 2013-10-28
一段執行個體代碼,程式的目的是使用C#實現啟動另一程式的方法。技術總監給出了我們這樣一個有效啟動程式的有效方法,現在和大家分享下 複製代碼 代碼如下:private void btnCreate_Click(object sender, EventArgs e) ...{ int hWnd = FindWindow(null, "test");//窗體的名稱 //check if PowerReuse is launched or not //if yes,
Time of Update: 2013-10-28
程式進行最佳化,通常是指最佳化程式碼或程式執行速度。最佳化代碼和最佳化速度實際上是一個予盾的統一,一般是最佳化了代碼的尺寸,就會帶來執行時間的增加,如果最佳化了程式的執行速度,通常會帶來代碼增加的副作用,很難魚與熊掌兼得,只能在設計時掌握一個平衡點 一、程式結構的最佳化1、程式的書寫結構雖然書寫格式並不會影響產生的程式碼品質,但是在 實際編寫程式時還是應該尊循一定的書寫規則,一個書寫清晰、明了的程式,有利於以後的維護。在書寫程式時,特別是對於While、for、
Time of Update: 2013-10-28
C語言的最大特點是:功能強、使用方便靈活。C編譯的程式對語法檢查並不象其它進階語言那麼嚴格,這就給編程人員留下“靈活的餘地”,但還是由於這個靈活給程式的調試帶來了許多不便,尤其對初學C語言的人來說,經常會出一些連自己都不知道錯在哪裡的錯誤 看著有錯的程式,不知該如何改起,本人通過對C的學習,積累了一些C編程時常犯的錯誤,寫給各位學員以供參考。1、書寫標識符時,忽略了大小寫字母的區別。複製代碼 代碼如下:main(){int
Time of Update: 2013-10-28
以下是對int(*p)[]和int(**p)[]的使用進行了詳細的分析介紹,需要的朋友可以參考下 1. int(*p)[10]:根據運算子的結合律,()的優先順序最高,所以p是一個指標,指向的一個維度為10的一維數組。p一個指向數組的某一行複製代碼 代碼如下:int a[1][4]={1,2,3,4}; int (*p)[4] = a;//p point to the row of array a
Time of Update: 2013-10-28
在使用泛型定義類的過程中遇到了不少問題,特記錄如下,需要的朋友可以參考下 定義最基本的泛型類如下:複製代碼 代碼如下:public abstract class GetDataBase<T> :IHttpHandler, IRequiresSessionState { protected abstract T GetModel(HttpContext context); protected abstract IList<T>
Time of Update: 2013-10-28
一、預備知識-程式的記憶體配置 一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)- 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap) - 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收
Time of Update: 2013-10-28
下面是一種比較典型的程式模式: ... Process process = Runtime.getRuntime().exec(".p.exe"); process.waitfor( ); ... 在上面的程式中,第一行的“.p.exe”是要執行的程式 名,Runtime.getRuntime()返回當前應用程式的Runtime對象,該對象的exec()方法指示Java虛擬機器建立一個子進程執行指
Time of Update: 2013-10-28
1. WP8的開發工具叫做Windows Phone SDK 8.0 (x64),現在只有英文環境(English),從名字上能看出來只支援x64架構開發環境,所以此開發工具還需要運行在x64的Windows 8上面。 2. Windows 8 (x64) - DVD 安裝 該過程心力交瘁,因為WP8
Time of Update: 2013-10-28
shell指令碼讀取資料的幾種方式:1.鍵盤輸入,預設2.從檔案中讀取3.通過管道命令傳遞echo的功能:c :不換行f :進紙t :跳格n :換行表示轉義,例如:""/dev/rmt0""翻譯為,"/dev/rmt0"read:從鍵盤或檔案的某一行文本中讀取資訊,並將其賦給一個變數。[開發]/>read namehello i am a regular user[開發]/>echo $namehello i
Time of Update: 2013-10-28
使用線程操作1、即時顯示目前時間2、輸入加數和被加數,自動出現結果分析:兩個問題解決的方式一致,使用子線程進行時間操作和加法操作,然後重新整理主線程的控制項顯示結果 using System; using System.Threading; using System.Windows.Forms; namespace WinThread { public partial class frmMain : Form { public frmMain()
Time of Update: 2013-10-28
解決一個問題通常有多種方法, 我們總想找到最高效的,所以需要對比不同演算法執行所用的時間。可惜的是,C++中提供的方法一般只能精確到毫秒級。 提供一種更加精確的方法。編寫一個函數,可以在C++中這樣寫: __declspec (naked) unsigned __int64 GetCpuCycle( void ) { _asm { rdtsc ret } } RDTSC的傳回值存放在EDX EAX中, EDX為高32位,EAX為低32位。這裡的 RDTSC 指令( Read
Time of Update: 2013-10-28
void fun() const{}; 、 const void fun(){}; 和void const fun(){}; 的區別? 答:const void fun(){};和void const fun(){};兩個相同。 如果採用"按址傳遞方式"的函數傳回值加const 修飾,那麼函數傳回值(即地址)的內容不能被修改,該傳回值只能被賦給加const
Time of Update: 2013-10-28
傳遞數組 傳遞定長數組很簡單,此處不述。下面的代碼實現變長數組的傳遞: C++代碼: int StaticElementNumber = 10; extern "C" AFX_API_EXPORT bool GetArray(int ElementNumber, double *BaseAddress) { if (ElementNumber < StaticElementNumber) { return false; } for (int i
Time of Update: 2013-10-28
那麼正確的應用方法我們將會在這篇文章中為大家詳細介紹,希望能對大家有所協助,提高實際程式開發效率。 C++ strtok原形如下: char *strtok( char *strToken, const char *strDelimit ); // crt_strtok.c /**//* In this program, a loop uses strtok * to print all the tokens (separated by commas *
Time of Update: 2013-10-28
至今已遇到兩個typedef詭異的定義,因此決定下筆記之,以備後用。 【typedef之const指標】 【案例】 typedef string * pstr; const pstr cpstr; 問上述代碼中cpstr是一個怎樣的指標? 【分析】 很多朋友,包括我自己在剛接觸到時,第一反應是:cpstr被定義為一個指向const
Time of Update: 2013-10-28
浮點數的資料類型有3種,它們是: ● float:單精確度浮點數 ● double:雙精確度浮點數 ● long double:擴充精度浮點數 這裡的術語"精度"是指尾數中的位元。上述資料類型的精度按從上到下的順序逐步增加,float在尾數中的位元最少,long
Time of Update: 2013-10-28
用C++ CLR也很長時間了,終於讓我明白了ISO C++與C++ CLR的區別,下面就讓我簡述一下我學習中痛苦和收穫吧。 通過學習WinForm編程,嚴格的說我並不是WinForm編程,因為我的原來的程式裡有著大量的ISO C++,完全用C++ CLI來編程我可承受不起,同時由於是自學,幾乎用了很長時間我才明白ISO C++與C++
Time of Update: 2013-10-28
這個世界上有一類人特別苦逼,苦逼到什麼程度呢?他們省吃儉用攢錢買房,結果樓價越來越貴;公司外部競爭激烈,他們工作異常繁忙,披星戴月,日複一日;技術更新行業罕見,他們要隨時調整心情,隨時學習知識;他們長期和機器為伍,大多比較呆傻,比較單純;還有很多不一一例舉,這一類人就是程式員。 而就是這麼一類程式員過著這麼苦逼的生活,在公司內部卻難以獲得公平的晉陞機會,外來的和尚總是在不斷打破平衡,甚至是剛畢業的新和尚拿得都比老和尚多,這是全行業都罕見的奇觀,IT人有幸經曆了。 某創業公司,某個程式員要
Time of Update: 2013-10-28
引用和指標類似,都是直接對變數地址操作,區別是引用對象不能改變,引用要直觀好理解一些,本教程就具體為大家介紹一下引用。 1、啟動 Geany 1)點菜單“應用程式-編程-Geany”啟動 Geany ,建立一個 c++ 來源程式; 2)點菜單“檔案-另存新檔”命令,以“refer”為檔案名稱,儲存檔案到自己的檔案夾; 2、建立引用 1)引用相當於變數的別名或另外的綽號,本身並不是變數,因此只有聲明沒有定義;
Time of Update: 2013-10-28
程包括介面就不會死掉了。非同步如何開始,好理解,現在我們討論的是如何結束這個非同步出來的新線程。 首先,非同步出來的新線程,必須回收,不回收是浪費資源的可恥行為,.NET也是不允許的,所以你別想鑽空子,俗話說,請神容易送神難,就是這個道理。下面你可以很容易想到,回收分為2種情況:主動回收和被動回收(當然,這是我自己的理解,微軟可不是這麼說的),主動回收就是,你去監視那個線程,並且等待,當非同步方法呼叫完成了,就把非同步線程回收,焦點迴歸主線程,實際上就是上篇文章《C#非同步初步》的那種