Time of Update: 2018-12-05
在做JNI的時候遇到了一個小問題,現在已經搞定,記錄下來。關於java層傳遞下的string參數,在C語言中定義為jstring。但是C語言在使用的時候需要用到char類型,這裡就出現了需要轉換的情況 。方法如下:/*這裡假設上層傳遞的參數都是準確有效,這裡只是在C中用*//*相關變數的定義如下*/jstring jstr;char *str;char out_str[256];/*使用GetStringUTFChars方法將jstr轉換成char型的變數輸出給str*/str = (*env)
Time of Update: 2018-12-05
因為自己寫一個小程式的時候弄了個問題,對於一些operator定義成成員函數則是不可以,而定義成friend則是可以,有些不理解,看到redsnow寫的一篇文章有些啟發,原文連結是http://blog.chinaunix.net/u/24250/showart_182419.html,原文如下。 對於class中將operator函數定義為friend主要有以下考慮: 1.friend function是對外公開的,而class
Time of Update: 2018-12-05
文章目錄 參考 NDEBUG宏是Standard C中定義的宏,專門用來控制assert()的行為。如果定義了這個宏,則assert不會起作用。#ifdef NDEBUG#define assert(x) ((void)0)#else...C Standard中規定了assert以宏來實現。<assert.h>被設計來可以被多次包含,其中一上來就undef assert,然後由NDEBUG宏來決定其行為。如:#ifdef
Time of Update: 2018-12-05
在C#中有HttpWebRequest類,可以很方便用來擷取http請求,但是這個類對Post方式沒有提供一個很方便的方法來擷取資料。網上有很多人提供瞭解決方法,但都參差不齊,這裡我把我使用的方法總結出來,與大家分享。本文精華:實現了post的時候即可以有字串的key-value,還可以帶檔案。Post資料格式Post提交資料的時候最重要就是把Key-Value的資料放到http請求流中,而HttpWebRequest沒有提供一個屬性之類的東西可以讓我們自由添加Key-Value,因此就必須手工
Time of Update: 2018-12-05
CPU 電源狀態( C-States )一般使用者很少注意到這個狀態,通常只會在使用 CPU-Z 來監控時鐘頻率和電壓時才會留意到它。移動處理器的 C 狀態比台式機的多。例如, Core 2 Duo 處理器( Meron )會支援 C0-C4 狀態,然後案頭型 Core 2 Duo 處理( Conroe )僅支援 C1-C0 狀態。 C0 狀態(啟用) ·這是 CPU 最大工作狀態,在此狀態下可以接收指令和處理資料 ·所有現代處理器必須支援這一功耗狀態 C1 狀態(
Time of Update: 2018-12-05
一個先近先出置換演算法,一個最近最久未使用演算法,類比一下過程。 /*頁面置換演算法,先近先出演算法,就是個隊列操作*/#include <stdio.h>#include <conio.h>#include <time.h>#include <stdlib.h>//記憶體可提供的頁面的個數#define MEMERY_PAGE_NUM 3//FIFO頁面置換演算法的資料結構struct FIFOQueue{ int number;
Time of Update: 2018-12-05
#include <stdio.h>#include <conio.h>#include <stdlib.h>#define RESOURCE_MAXNUM 3 //資源數#define THREAD_MAXNUM 5 //進程數//定義可利用資源向量struct Available { int
Time of Update: 2018-12-05
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 18.0px 'Lucida Grande'}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 18.0px; font: 12.0px 'Lucida Grande'; color: #6b94b9; min-height: 15.0px}p.p3 {margin: 0.0px 0.0px 0.0px
Time of Update: 2018-12-05
最近寫程式忽然發現了一些錯誤,運行總是報Heap corruption detected.斷點單步發現總是在delete的時候出錯。以前也出現過,不過沒啥注意,現在想留著是個大大的心病!於是上網查了相關資料:下面是轉載資料:http://www.cppblog.com/kerlw/archive/2007/04/10/21604.aspx今天寫程式的時候到一個問題,調試的時候總是報錯Heap corruption
Time of Update: 2018-12-05
最近遇到一個問題機房的電腦500G的硬碟C盤居然只有20G 現在安裝很多編程工具的時候都會佔用一部分C盤空間,很快20G的空間就已經用完了,但是其他的分區卻還有很大一部分的空間沒有用。電腦上裝了很多軟體也有很多資料,我不想重裝系統再格式化話硬碟,重新分區。在網上找了很多文章卻沒有很好的解決方案,但是還是獲得了不少的靈感, 最終解決了該問題,現將具體的解決方案記錄下來,描述如下。首先該過程需要兩個軟體首先是Acronis Disk Director Suite(http://down.vista1
Time of Update: 2018-12-05
程式如下#include <STDIO.H>void main(){FILE *fp; // 聲明一個檔案流類型的變數,FILE 為 stdio.h 裡定義的fp=fopen("1.txt","w"); //用 fopen 函數開啟檔案,第一個參數表示檔案名稱,若不是當前 // 路徑請加 \\ 號,如 C:\\Windows\\System32,"w" 表示寫(write)if (fp!=NULL) //
Time of Update: 2018-12-05
對於如何將TXT文檔中資料存入數組進行各種運算,在網上有不少的代碼,但之前我將其運用之後發現大多不可靠,一旦運行就會彈出很多錯誤,最後好不容易才修改正確。現拿出來與大家分享一下,雖然難度並不高,可我相信對很多人還是會有協助的。我原先是讀取TXT中的座標資料,如(192.54862 56.24568)。using System.IO; //不要忘了加命名空間double[,] array ={ { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }
Time of Update: 2018-12-05
標準IO庫:標準庫定義了一族類型,支援對檔案和控制視窗等裝置的讀寫,還使得string對象能夠像檔案一樣操作。採用繼承來實現。 流:是以位元組方式對資料從源到目標進行傳遞的一種描述。 輸入資料流:指從輸入裝置到記憶體中位元組的傳遞;輸出資料流:指從記憶體到輸出裝置中位元組的傳遞; iostream類庫的介面對應的標頭檔:標頭檔iostream包含所有i/o流所需的基本資料,並定義有四個標準i/o流對象:cin:標準輸入資料流對象(與標準輸入裝置串連)cout
Time of Update: 2018-12-05
self就是當前執行個體的指標。所以 看這個例子:SuperClassSubClass : SuperClass#import <Foundation/Foundation.h>@interface SuperClass : NSObject {@private }- (void) printSelf;@end@implementation SuperClass- (void) printSelf{ NSLog(@"%@", [[self class]
Time of Update: 2018-12-05
windows server 2003開啟webDAV服務 1、 啟動“IIS管理器”選擇“WEB服務擴充”,選擇“WEBDAV”的允許按鈕啟動WEBDAV功能 2、建立一個虛擬目錄,對應到一個本地目錄。 3、啟動系統“服務”中的“WebClient”服務 參考網址WebDAV文檔rfc2518 http://www.ietf.org/rfc/rfc2518.txtwebdav常用方法和概念總結 http://blog.csdn.net/mahongming/archive/2
Time of Update: 2018-12-05
在C++中,記憶體分成5個區,他們分別是堆、棧、自由儲存區、全域/靜態儲存區和常量儲存區。 棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是局部變數、函數參數等。 堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般一個new就要對應一個delete。如果程式員沒有釋放掉,那麼在程式結束後,作業系統會自動回收。
Time of Update: 2018-12-05
寫了兩年的安卓程式,主要用Java。今年轉ios,搞cocos2d-x的遊戲開發,c++東西還是複雜一些。一直沒有做c++的項目,沒有項目經驗,對c++的理解還停留在大學裡面學的那些比較泛泛的概念。這幾天去筆試了幾次,c++的題基本不會。對比Java,感覺java程式員對程式完全沒有什麼認知。特別是記憶體,類型,地址之類,堆棧之類的東西。更別談程式最佳化了。現在再回過投來看C++,看記憶體配置,看基本類型,看編譯原理,感覺清晰了很多。以前做Java,就是查文檔,調API,感覺真是沒什麼意思。碰到
Time of Update: 2018-12-05
例如int a = 2;switch (a){ case 1: NSArray* array = [[NSArray alloc] init]; [array release]; break; case 2: break;}這樣的 case會報錯: : Semantic Issue: Unexpected interface name 'NSArray': expected expression修改的方法:在case 語句中加上括弧
Time of Update: 2018-12-05
string 函數列表函數名描述begin得到指向字串開頭的Iteratorend得到指向字串結尾的Iteratorrbegin得到指向反向字串開頭的Iteratorrend得到指向反向字串結尾的Iteratorsize得到字串的大小length和size函數功能相同max_size字串可能的最大大小capacity在不重新分配記憶體的情況下,字串可能的大小empty判斷是否為空白operator[]取第幾個元素,相當於數組c_str取得C風格的const char*
Time of Update: 2018-12-05
1,實現void strtol(char* num_str,char** endptr,int