Time of Update: 2018-12-06
class fraction{private:int above; //分子int below; //分母void reduction(); //約分fraction makeCommond(fraction); //通分 public:fraction(int a=0,int b=1){ //建構函式 above=a;below=b;}fraction add(fraction); //兩分數相加fraction
Time of Update: 2018-12-06
檢測到 CallbackOnCollectedDelegateMessage: 對“HBVideoParser!Videocomm.Video.HB.HBSDK+SrcDataParseCBHandler::Invoke”類型的已記憶體回收委託進行了回調。這可能會導致應用程式崩潰、損壞和資料丟失。向Unmanaged 程式碼傳遞委託時,託管應用程式必須讓這些委託保持活動狀態,直到確信不會再次調用它們。 [DllImport("...")] public
Time of Update: 2018-12-06
摘自維基百科:http://zh.wikipedia.org/zh-cn/C%E6%A0%87%E5%87%86%E5%BA%931995年,Normative Addendum 1 (NA1)批准了三個標頭檔(iso646.h, wchar.h, and wctype.h)增加到C標準函數庫中。C99標準增加了六個標頭檔(complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h, and
Time of Update: 2018-12-06
欲產生隨機數,主要用到兩個函數srand,rand。標頭檔為:#include <stdlib.h> 一、函數1.srandvoid srand ( unsigned int seed );用法:它需要提供一個種子,這個種子會對應一個隨機數,如果使用相同的種子後面的 rand() 函數會出現一樣的隨機數。為了防止隨機數每次重複常常使用系統時間來初始化,即使用 time函數來獲得系統時間,它的傳回值為從 00:00:00 GMT, January 1, 1970
Time of Update: 2018-12-06
平時對字串的操作的是很多的,瞭解下常用的字串函數會使 c 編程變得很快捷!這裡適當整理一下,方便以後參考。使用時,會用到大量指標的操作,注意加標頭檔:#include <string.h> 一、str 系列1.strtokextern char *strtok( char *s, const char *delim
Time of Update: 2018-12-06
近期看到了文字資料流和二進位流的區別,書上講的比較含糊,理解不透徹,於是細細琢磨了下,把心得跟大家分享一下:一、首先回答,什麼是檔案,流 一個檔案通常就是磁碟上的一段命名的儲存區。比如 stdio.h 就是一個包含一些有用資訊的檔案的名稱。 C將檔案看成是連續的位元組序列,其中每一個位元組都可以單獨地讀取。這與 UNIX 環境(C的發源地)中的檔案結構是一致的。因為其他環境中的檔案模型可能會有所不同,所以 ANSI C
Time of Update: 2018-12-06
%.2f float型 double型 %lf %e 科學計數法 scanf("%f" , &weight);float a =3.13e-2; 資料類型關鍵字 int long short unsigned char float double long double _Bool 一個位元組8位 int 儲存在一個字中 按照電腦位元不同,一個字有16位,32位,64位(32位) 輸出8,16進位 %o %x
Time of Update: 2018-12-06
一、刪除檔案1.c 調用dos命令: system(char *cmd); 如 system( "del d:\\chang\\xxx.txt "); 刪除檔案2.調用api: 刪除一個檔案: int remove(char *filename ); 返回0 成功 -1失敗3.DeleteFile("d:\\new.txt"); //刪除一個檔案BOOL DeleteFile(LPCTSTR filename);4._unlink( filename )
Time of Update: 2018-12-06
一、strcat(str,s) 第二個參數一定為字串! "i" "is" 不能是字元 'i'
Time of Update: 2018-12-06
#include <stdio.h>#include <stdlib.h>#include <string.h>void strsrt(char *str[], int num){char *temp;int top, seek;for (top = 0; top < num - 1; top++) {for (seek = top + 1; seek < num; seek++) {if (strcmp(str[top],
Time of Update: 2018-12-06
摘自“你必須知道的n個c語言問題”,人郵的,不知道為什麼原版錯誤很多。就摘了一些要點吧。一、重點位,位元組,地址的運算 二、32個關鍵字(注意不要跟宏定義(NULL,EOF)弄混了)int, float, double, char, struct, union, enum, void, typedeflong, short, signed, unsigned, const, static, volatile, auto, extern, register if, else, do,
Time of Update: 2018-12-06
Object Pascal的指標 一、類型指標的定義。對於指向特定類型的指標,在C中是這樣定義的: int *ptr; char *ptr; 與之等價的Object Pascal是如何定義的呢? var ptr : ^Integer; ptr : ^char; 其實也就是符號的差別而已。 二、無類型指標的定義。C中有void *類型,也就是可以指向任何類型資料的指標。Object
Time of Update: 2018-12-06
http://blog.csdn.net/xcplates/archive/2009/11/29/4900036.aspx最近一個項目用到了delphi調用C#寫的web服務的功能。用了一天的時間找原因,終於測試通過了。這是一個通過web服務把一個照片上傳到網站指定位置的方法。先測試了N次都不成功,通過跟蹤發現delphi根本沒傳過來任何值,通過查資料發現VS2005 預設是用的 SoapDocumentProtocol而Delphi 是使用的
Time of Update: 2018-12-06
在C#裡關於定時器類有3個:1. 定義在System.Windows.Forms裡實現在使用者定義的時間間隔引發事件的計時器。此計時器最宜用於 Windows 表單應用程式中,並且必須在視窗中使用。 命名空間:System.Windows.Forms程式集:System.Windows.Forms(在 system.windows.forms.dll 中) 備忘:Timer 用於以使用者定義的事件間隔觸發事件。Windows 計時器是為單線程環境設計的,其中,UI
Time of Update: 2018-12-06
1)記憶體的問題是發現越早,解決的代價就越小。所以最重要的是理解ObjectiveC記憶體管理,遵循我之前提到的實踐準則和編碼規範。另外,在每個迭代周期要做一些壓力和記憶體測試,儘早發現問題。 2)利用Clang靜態偵查工具。在XCode 3.2之後的版本裡,Clang已經被整合進來。Build ->Build & Analyze即可運行,它可以發現大部分因為疏忽造成的記憶體泄露。比如有Alloc沒有release等。是一次靜態檢測的結果.
Time of Update: 2018-12-06
volatile的介紹 volatile類似於大家所熟知的const也是一個類型修飾符。volatile是給編譯器的指示來說明對它所修飾的對象不應該執行最佳化。volatile的作用就是用來進行多線程編程。在單線程中那就是只能起到限制編譯器最佳化的作用。所以單線程的童鞋們就不用浪費精力看下面的了。沒有volatile的結果
Time of Update: 2018-12-06
一
Time of Update: 2018-12-06
手頭有個C++的DLL,是公司的一個遠程通話功能組件。長久以來,這個DLL對外只有三個操作介面。而從合理的角度來說,這個DLL本應再提供一些回調介面或事件之類的東西,用於在通話狀態被動改變時通知外層應用程式。不過銀行裡的規矩多多,不能用ActiveX;而使用回調,卻又似不那麼的穩定,尤其在與C#互動時。所以才一直就這麼用著。直到最近,外層應用程式的開發人員提意見抱怨這個DLL。於是,一狠心,決定向這個DLL添加回調的支援。雖然不能確定之前使用回調不穩定的問題在哪,但現有資料和之前自己單獨寫的測試
Time of Update: 2018-12-06
1. DLL的介面必須在.def中聲明,否則VB無法調用。根據已有資料,.def檔案完成的作用是與extern "C"相同,也就是說如果在介面定義的標頭檔中使用了extern "C",則不需要在.def中聲明。在實際中,供C++、C#和Java調用的DLL都只需要使用extern "C"來聲明介面即可,VB應屬一個特例,具體原因尚不清楚。2. VB聲明原型時,對實值型別參數時,傳入參數需用ByVal修飾,傳出參數需用ByRef修飾;但對於字串參數,均用ByVal修飾符。3.
Time of Update: 2018-12-06
在上周完成的一項工作中,發現了一個當時有點困惑的問題:當編寫供VB調用的C++ DLL時,必須使用def檔案來定義匯出符號,否則VB程式將連結失敗。我們都知道使用def檔案是為了避免C++編譯器對函數進行重新命名,另一個達到相同效果的替代方式是使用extern "C"標識符。若DLL由C++、C#、Java等調用,後者可以工作得很好;然而VB不可以,即便使用了extern "C"來標識匯出函數,依然需要定義def檔案。 就在剛剛,我找到了答案,《Windows核心編程》——19.3.2