Time of Update: 2018-12-03
C語言,C++,這操作記憶體的語言就是那麼的糾結啊,呵呵。我們先定義兩個結構體:struct UMMessage{long mtype;char mtext[100];};struct MsgInfo{sem_t sem;int MQID;struct UMMessage MSG;}; 假如已經有一個MsgInfo類型的結構體變數Info,現在需要新定義一個MsgInfo類型的結構體,並且等於Info,那麼是否我們可以這樣:MsgInfo Info2=Info; 在C++
Time of Update: 2018-12-03
C#通過API函數,讀取標準的Win32DLL 檔案中的 Bitmap位元影像檔案 using System;using System.Collections.Generic;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Text;using System.IO;using System.Drawing;namespace LoadLibrary{ public static
Time of Update: 2018-12-03
第一:private, public, protected 訪問標號的存取範圍。private:只能由1.該類中的函數、2.其友元函數訪問。不能被任何其他訪問,該類的對象也不能訪問。protected:可以被1.該類中的函數、2.子類的函數、以及3.其友元函數訪問。但不能被該類的對象訪問。public:可以被1.該類中的函數、2.子類的函數、3.其友元函數訪問,也可以由4.該類的對象訪問。 註:友元函數包括3種:設為友元的普通的非成員函數;設為友元的其他類的成員函數;設為友元類中的所有成員函數。
Time of Update: 2018-12-03
天嵌2440開發板上有4個LED小燈,隨機帶的測試軟體使用的C++開發的,但筆者比較喜歡C#語言,所以通過對TQ2440的BSP包分析,4個LED小燈,是通過GPIO口進行控制。因此,只要用C#對GPIO口進行控制,就能讓LED發光。 關鍵代碼如下:首先要聲明2個WindowCE API 函數調用第1個 API聲明,這個API聲明是從C#串口通訊的代碼中找到,沒想到還能用於GPIO口控制。(以後有時間在慢慢學習了,先把代碼貼出來供大家參考) [DllImport( "coredll.dll"
Time of Update: 2018-12-03
設定資料清單控制項隔行變色只需兩句代碼即可搞定,非常舒服。dataGridViewX1.RowsDefaultCellStyle.BackColor = Color.FromArgb(237, 243, 254);dataGridViewX1.AlternatingRowsDefaultCellStyle.BackColor = Color.FromArgb(199, 237,
Time of Update: 2018-12-03
轉自:http://www.cnblogs.com/qiyeshublog/articles/2378272.html標準庫 標準庫中提供了C++程式的基本設施。雖然C++標準庫隨著C++標準折騰了許多年,直到標準的出台才正式定型,但是在標準庫的實現上卻很令人欣慰得看到多種實現,並且已被實踐證明為有工業層級強度的佳作。 1、 Dinkumware C++ Library 參考網站:http://www.dinkumware.com/'>http://www.dinkumware.com/
Time of Update: 2018-12-03
轉自:http://www.cnblogs.com/summerRQ/articles/2375749.html編寫程式遍曆檔案夾及其子檔案夾下所有檔案,並輸出到標準輸出資料流或者檔案流。1. 先考慮在單層目錄下,遍曆所有檔案。以C:\WINDOWS為例:用到資料結構_finddata_t,檔案資訊結構體的指標。struct _finddata_t{ unsigned attrib; //檔案屬性 time_t time_create; //檔案建立時間
Time of Update: 2018-12-03
/// <summary> /// this function copy from Microsoft MSDN /// </summary> /// <param name="wordInputPath"></param> /// <param name="pdfOutputPath"></param> /// <param
Time of Update: 2018-12-03
轉自:http://wuyuans.com/2012/06/the-length-of-data/資料類型的長度跟編譯器和系統有關,比如在windows下的32位編譯器下的資料類型位元組數:char :1個位元組char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。)short int : 2個位元組int: 4個位元組unsigned int : 4個位元組float: 4個位元組double: 8個位元組long: 4個位元組long
Time of Update: 2018-12-03
轉自:http://wmnmtm.blog.163.com/blog/static/3824571420110279235340/從廣義上,能夠從一個數值拎起一大堆資料的東西都可以叫做控制代碼。控制代碼的英文是"Handle",本義就是"柄",只是在電腦科學中,被特別地翻譯成"控制代碼",其實還是個"柄"。從一個小東西拎起一大堆東西,這難道不像是個"柄"嗎? 然後,指標其實也是一種"控制代碼",只是由於指標同時擁有更特殊的含義——實實在在地對應記憶體裡地一個地址——所以,通常不把指標說成是"控制
Time of Update: 2018-12-03
大家都知道程式在記憶體中的布局分為:棧區、堆、靜態變數區、常量區等幾個部分。其中堆上的空間分配是由程式員自己來管理的,包括空間的申請和釋放。我們這裡就說一下C標準庫中提供的幾個在堆上操作空間的函數:1、void* malloc(unsigned size);2、void* calloc(size_t nelem, size_t elsize);3、void* realloc(void* ptr, unsigned newsize);對於malloc(unsigned
Time of Update: 2018-12-03
我們知道,Weka是一個用Java語言開發的機器學習工具包(http://blog.csdn.net/Felomeng/archive/2009/10/17/4687061.aspx)。那麼如果想在C#中調用怎麼辦?可以使用IKVM(http://blog.csdn.net/Felomeng/article/details/4063343)。 IKVM轉換weka.jar的命令是:ikvmc -target:library
Time of Update: 2018-12-03
設計的原則是將易變的元素與穩定的元素分開。separate things that change from things that stay the same.設計模式的目標是把變化封裝起來。The goal of design patterns is to encapsulate
Time of Update: 2018-12-03
修飾欄位欄位,成員變數,它表示儲存位置,是C#中類不可缺少的一部分.修飾欄位C#提供5種:internal :擴充了C++原來的friend修飾符.在有必要使兩個類的某些欄位相互可見時,我們將這些類的欄位聲明為 internal,然後將它們放在一個程式集中編譯即可.如果對它們的繼承子類也可見的話,聲明為protected internal實際這也是程式集本來的意圖,即將邏輯相關的的類組合封裝在一起.readonly唯讀欄位:唯讀不能進行寫操作,const關鍵字也不能被修改1.const
Time of Update: 2018-12-03
原文網址:http://www.yuanma.org/data/2009/0326/article_3585.htm 200行C代碼實現簡單線程池 原以為實現一個線程池一定是個規模和難度都是超大的項目。這陣子有些閑空,就複習了一下pthreads的知識。光理論複習不夠的,還得上手寫點東西才行。這就想著實現一個線程池試試看吧。沒想到200行不到就出來了一個可用的東西。 基本想法是這樣的:
Time of Update: 2018-12-03
關於c++ new操作符的重載 原文地址: http://blog.csdn.net/bichenggui/article/details/4823978 你知道c++ 的new 操作符和operator new 的區別嗎?也許你還會問,他們有區別嗎? 當你寫下面這樣的代碼時,string *pa = new
Time of Update: 2018-12-03
一、發生的背景 在開發新項目中使用了新的語言開發 C# 和新的技術方案 WEB Service,但是在新項目中,一些舊的模組需要繼續使用,一般是採用 C 或 C++ 或 Delphi 編寫的,如何利用舊模組對於開發人員來說,有三種可用方法供選擇:被過濾廣告 第一、將 C 或 C++ 函數用 C# 徹底改寫一遍,這樣整個項目代碼比較統一,維護也方便一些。但是儘管微軟以及某些書籍說,C# 和 C++ 如何接近,但是改寫起來還是很痛苦的事情,特別是 C++ 裡的指標和記憶體操作; 第二、將
Time of Update: 2018-12-03
轉帖自:http://bright-li.spaces.live.com/blog/cns!64a26545e8622b86!460.entry總結C++中三種關於"new"的使用方法雖然有三種new的用法,但是分為兩大類也未嘗不可,那麼是哪兩類呢?其一是new operator,也叫new運算式;其二是operator new,也叫new操作符。這兩個英文名稱起的也太絕了,很容易搞混,那就記中文名稱吧。new運算式比較常見,也最常用,例如:string* ps = new
Time of Update: 2018-12-03
C#下的查殺進程.net對進程管理的封裝非常好,通過System.Diagnostics.Process.GetProcesses()方法可以獲得系統內各進程的數組,通過枚舉可獲得系統內的所有進程(比Windows內建的進程瀏覽器看到的還多)。 ProcessName屬性獲得的是檔案名稱的首碼,即NotePad,不包含後面的.exe。
Time of Update: 2018-12-03
最近項目中需要使用JNI,所以研究了一下,其中遇到過不少問題,總結一下,讓遇到同樣問題的人可以得到解決。在C/C++中調用Java的方法一般分為五個步驟:初始化虛擬機器、擷取類、擷取類的方法、建立類對象、調用方法和退出虛擬機器。下面寫一個小程式測試一下:Java代碼:package jni.test;public class Demo {public static int COUNT = 8;public String msg;private int[] counts;public Demo()