Time of Update: 2018-12-03
1.安裝好任意能編譯調試.net工程的工具,推薦兩個免費的a.SharpDevelop2, http://www.icsharpcode.net/OpenSource/SD/Download/b.Visual Studio Express Editions, http://msdn.microsoft.com/vstudio/express/support/install/ 2.保證.net1.1和.net2.0的runtime都安裝了a.net1.1 runtime
Time of Update: 2018-12-03
在開發中遇到這樣一個情境,需要修改一個dll檔案(.NET程式集)中某些地方的類型名稱,但沒有原始碼,只能修改IL代碼。操作步驟如下:1. 運行ildasmildasm是由微軟提供的.NET程式反編譯工具,位於“C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\”。2. 用ildasm開啟要修改的程式集,如:3. 通過ildasm儲存為IL檔案選擇菜單File>Dump,選擇UTF-8編碼,如:4.
Time of Update: 2018-12-03
C語言內建函式的一點疑問如果一個函數只能被本檔案中其他函數所調用,他稱為內建函式。在定義內建函式時,在函數名和函數類型的前面加static,即: static 類型標誌符 函數名 (形參表);內建函式又稱為靜態函數。在定義函數時,如果在函數首部的最左端加關鍵字extern ,則表示此函數是外部函數,可供其他檔案調用。往往extern是預設的。 如果我在同一個cpp檔案中定義了一個靜態函數,現在我想在main函數裡面調用它。且靜態函數的位置在main函數的下面。問如何聲明???如:
Time of Update: 2018-12-03
最近一直在想這個問題,我們能用c語言實現c++的核心的幾個功能嗎?包括類和介面。初步的想法是用c語言編譯器結合自己寫的cxx2c翻譯程式實現編譯cxx程式的目的.將原來用cxx寫的代碼經過cxx2c的翻譯程式,將cxx代碼中的所有cxx專屬的文法翻譯成c所能識別的文法規則產生
Time of Update: 2018-12-03
int main(int argc,char *argv[])argc(argument count):參數的個數;argv(argument value):參數值argv[0] :檔案名稱argv[1]:第一個參數,argv[2];第二個參數,以此類推。編譯C1 單來源程式到可執行程式 編譯 串連源檔案(.c)--------->目標檔案(.o)------->可執行檔 hello.c -c howdy ./
Time of Update: 2018-12-03
編譯選項---------IDE掩蓋下的天空/*************************************** * gcc for c language ***************************************/Single Source to Executable$ gcc helloworld.c [-o howdy]預設產生的名字a.exe______________________________________Source File to
Time of Update: 2018-12-03
Single Source File to Executable$ g++ helloworld.cpp [-o helloworld]用gcc編譯c++:$ gcc helloworld.cpp -lstdc++ -o helloworld_____________________________________________Multiple Source Files to Executable$ g++ hellospeak.cpp speak.cpp -o hellospeak_____
Time of Update: 2018-12-03
1 判斷文字框中輸入的IP地址是否合法Regex reg = new Regex(@"(?n)^(([1-9]?[0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))/.){3}([1-9]?[0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))$");if (reg.IsMatch(tb_IP.Text)) lb_IP.Items.Add(tb_IP.Text);else MessageBox.Show("It's not a
Time of Update: 2018-12-03
想寫點《C++
Time of Update: 2018-12-03
這篇筆記是沒什麼技術含量的,這裡只抱著理清一些基本概念的想法練練筆。 當我們要用到隨機數時,通常是要用到C程式庫中所提供的rand() ,但因為其“偽”性,所以如果要產生真正的隨機序列必須要瞭解“ 種子”的概念。開始的時候這個“種子”是我不知道的。如今總算找到了答案。 @因為隨機數產生函數 rand()(函數原型int rand(void);)的機理是通過一個靜態全域變數來產生的,即種子。預設情況下種子 = = 1;如下:
Time of Update: 2018-12-03
在編寫自訂類型的時候,即使我們不寫ToString函數,系統也會自動提供ToString函數,例如: public class clsUserInfo { private string strUserName; ……
Time of Update: 2018-12-03
在前一篇《如何用C#來部署資料庫》中寫到的方法本身還有一個問題,就是如果資料庫指令碼中含有StoreProcedure的話,我給出的方法就無法執行,然後我再原有的基礎上,作了如下修改,既能滿足以前的指令碼執行,也能完成含有StoreProcedure指令碼的執行。 大致的修改是替換原先的CreateDB函數,具體代碼如下: private bool CreateDB( ref SqlConnection sqlConn ) { string
Time of Update: 2018-12-03
void func1( MYCLASS *&pBuildingElement ; 論壇中經常有人問到這樣的問題。本文試圖通過一些實際的指標使用經驗來解釋這個問題。仔細看一下這種聲明方式,確實有點讓人迷惑。在某種意義上,"*"和"&"是意思相對的兩個東西,把它們放在一起有什麼意義呢?。為了理解指標的這種做法,我們先複習一下C/C++編程中無所不在的指標概念。我們都知道MYCLASS*的意思:指向某個對象的指標,此對象的類型為MYCLASS。 Void func1(MYCLASS
Time of Update: 2018-12-03
轉自http://hi.baidu.com/kuliuheng/item/438ad2f83b3ef7693c1485f5一、C++中不能使用random()函數==================================================================================本文由青松原創並依GPL-V2及其後續版本發放,轉載請註明出處且應包含本行聲明。C++中常用rand()函數產生隨機數,但嚴格意義上來講產生的只是偽隨機數(pseudo-ra
Time of Update: 2018-12-03
第一部分是語言使用的基礎,而這是使用語言的基本功,也是平常最不注意的,養成好的習慣,有利於後期水平提高。 這部分包括11個單元,分別如下:Item 1: Always Use Properties Instead of Accessible Data Members《Effective C#》Item 1:用屬性來訪問類的私人成員http://blog.csdn.net/knight94/archive/2006/06/04/772886.aspx Item 2: Prefer
Time of Update: 2018-12-03
第二部的主題在於資源管理,.Net編寫的程式以託管程式居多,但是並不意味著可以不注意細節,合理的使用.Net提供的便利,加上好的習慣,有利於程式效率提高。 這部分包括7個單元,分別如下:Item 12: Prefer Variable Initializers to Assignment Statements《Effective C#》Item 12:推薦使用成員初始化語句http://blog.csdn.net/Knight94/archive/2006/09/01/1153251.aspx
Time of Update: 2018-12-03
委託屬於C#中的新名詞,它的應用也非常廣泛,例如事件就是委託最簡單而又直接的例子。 那麼首先說說什麼是委託,其實委託在用過C或者C++的人看來就是函數指標,不過使用C#的大多數人都沒有用過這兩門語言,因此對委託的理解不是很深,對於委託可以簡單的從字面去理解,即“委託別人去執行某些操作”,也就是說執行一個操作,而這個操作過程自身並不知道,只是委託過來讓你去執行而已。參看如下這個例子。 public delegate void HelloHandler( string Msg );
Time of Update: 2018-12-03
result love(boy, girl) { if ( boy.有房() and boy.有車() ) { boy.set(nothing); return girl.嫁給(boy); } else if ( girl.願意等() ) { while( ! (boy.賺錢 > 100,000 and girl.感情 > 8 ) ) { for ( day=1; day <=365; day++)
Time of Update: 2018-12-03
[轉載] MSDN:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpcondiscoveringtypeinformationatruntime.htm提綱:1、 什麼是反射2、 命名空間與裝配件的關係3、 運行期得到類型資訊有什麼用4、 如何使用反射擷取類型5、 如何根據類型來動態建立對象6、 如何擷取方法以及動態調用方法7、 動態建立委託 1、什麼是反射 Reflection,中文翻譯為反射。 這是.
Time of Update: 2018-12-03
便於對文章的開展,需要先明確兩個概念。第一個就是很多人用.Net寫程式,會談到託管這個概念。那麼.Net所指的資源託管到底是什麼意思,是相對於所有資源,還是只限於某一方面資源?很多人對此不是很瞭解,其實.Net所指的託管只是針對記憶體這一個方面,並不是對於所有的資源;因此對於Stream,資料庫的串連,GDI+的相關對象,還有Com對象等等,這些資源並不是受到.Net管理而統稱為非託管資源。而對於記憶體的釋放和回收,系統提供了GC-Garbage