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
想寫點《C++
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
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
Time of Update: 2018-12-03
C#裡兩個時間相減,得到一個 TimeSpan 執行個體,TimeSpan 有一些屬性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks,注意沒有 TotalTicks。這些屬性名稱開始理解有些困難,但閱讀本文後,相應您一定茅塞頓開。舉例說明時間 1 是 2010-1-2 8:43:35;時間 2 是 2010-1-12 8:43:34。用時間 2 減時間 1,得到一個
Time of Update: 2018-12-03
很多人是從C轉到JAVA上來的,這裡給大家介紹一下C與JAVA的區別:1. Java沒有預先處理指令。(如C中的#define , #include , #ifdef等)。C中的常量定義在Java中用static final來取代。2. Java中沒有C中的全域變數。3. Java中的主類型的size是確定的,而C中主類型的size跟平台相關。4. Java中沒有了指標,它使用了類似的控制代碼來取代指標,但是Java中不允許對控制代碼進行加減,沒有取地址操作符之類的東東。5.
Time of Update: 2018-12-03
今天開始考慮AOP的C#實現,對於靜態Weavor方法迷惑中。在原始碼層級的編織是採用像AspectJ那樣做呢,還是另闢蹊徑?一開始就要讓我頭痛了。AspectJ的方式是:對原始碼進行解析,然後在加入點(JoinPoint)插入Aspcet的代碼,形成中間檔案,再編譯成最終檔案。這種方法產生的效能比較好,有一個缺陷就是如果修改了weaving的規則,就要重新編譯。(或許可以採用某些設計模式來消除這個弱點)另外一種思路就是一開始就採用設計模式,在JontPoint處插入delegate,以後如果需
Time of Update: 2018-12-03
今天開始寫Paser了,不過是從SharpDevelop借過來而已(不想重新發明輪子,^_^)。但是,還是對原先的代碼作了一些修改,即使到了RC2了,SharpDevelop的代碼中還是存在問題。今天看代碼是就發現了兩處。比如下面的代碼: static public int Compare(IList a, IList b, IComparer comparer) { if (a == null || b == null) { return 1; }
Time of Update: 2018-12-03
Iterator:列舉程式如果你正在建立一個表現和行為都類似於集合的類,允許類的使用者使用foreach語句對集合中的成員進行枚舉將會是很方便的。這在C#2.0中比 C# 1.1更容易實現一些。作為示範,我們先在 C# 1.1中為一個簡單的集合添加枚舉,然後我們修改這個範例,使用新的C#2.0枚舉構建方法。我們將以建立一個簡單化的List Box作為開始,它將包含一個8字串的數組和一個整型,這個整型用於記錄數組中已經添加了多少字串。建構函式將對數組進行初始化並使用傳遞進來的參數填充它。Code
Time of Update: 2018-12-03
C#語言一個最令人感興趣的地方就是類的索引器(indexer)。簡單說來,所謂索引器就是一類特殊的屬性,通過它們你就可以像引用數組一樣引用自己的類。顯然,這一功能在建立集合類的場合特別有用,而在其他某些情況下,比如處理大型檔案或者抽象某些有限資源等,能讓類具有類似數組的行為當然也是非常有用的。本文就會引領你設定類來採用索引器。但是,首先讓我們概述下屬性這個概念以便瞭解些必要的背景知識。 屬性
Time of Update: 2018-12-03
///<summary> /// 驗證是否已經運行 /// </summary> public static bool AppRunAlready(string appName) { Process[] app=Process.GetProcessesByName(appName); return app.Length>1; } /// <summary> /// 應用程式的主進入點。 /// </
Time of Update: 2018-12-03
C#語言一個最令人感興趣的地方就是類的索引器(indexer)。簡單說來,所謂索引器就是一類特殊的屬性,通過它們你就可以像引用數組一樣引用自己的類。顯然,這一功能在建立集合類的場合特別有用,而在其他某些情況下,比如處理大型檔案或者抽象某些有限資源等,能讓類具有類似數組的行為當然也是非常有用的。本文就會引領你設定類來採用索引器。但是,首先讓我們概述下屬性這個概念以便瞭解些必要的背景知識。 屬性
Time of Update: 2018-12-03
簡單說來,所謂索引器就是一類特殊的屬性,通過它們你就可以像引用數組一樣引用自己的類。 聲明方法如下(與屬性相似): //修飾符 類型名稱 this [類型名稱 參數名] public type this [int index] { get { //... }
Time of Update: 2018-12-03
在GetProcessPID()方法中,修改進程名,就可以實現關閉表單功能。本程式經過.Net 4.0調試通過,作業系統平台Windows Server 2008 R2 public partial class Form2 : Form { public Form2() { InitializeComponent(); } // 擷取視窗標題 [DllImport("user32",