Time of Update: 2018-12-03
變數的類型和它的儲存類別是兩個概念。 資料類型和記憶體管理沒有直接的關係。 一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分: 1、棧區(stack) — 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap) — 一般由程式員分配釋放, 若程式員不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鏈表,呵呵。
Time of Update: 2018-12-03
幫同學寫的一個處理字串程式。先從檔案中讀起包含大量空格的字串(關鍵在於處理空格),再根據指定長度截取字串。#include<iostream.h>#include<fstream.h>#include<string.h>#define strLength 100struct node{ char ch[10];//暫時將最大截取字串限定在10個字元內 int chnumber;//記錄字元個數};node
Time of Update: 2018-12-03
主要的程式如下: 根據四元式產生彙編指令的關鍵是標號的產生struct node6{ int L;//判斷是否需要標誌符 int num;//標誌符號 char op[10];//操作符 char arg1[10];//運算元1 char arg2[10];//運算元2};四元式的格式如下輸出格式:行號,四元式(操作,運算元,運算元,結果)。(1): (=,3,-,i).(2): (j<,i,7,4).(3): (j,-,-,11).(4): (j<,i,3
Time of Update: 2018-12-03
scope resolution region operator:" ::"http://msdn.microsoft.com/en-us/library/b451xz31.aspxhttp://msdn.microsoft.com/en-us/library/56e442dc(v=VS.71).aspxFormat Specification Fields: printf and wprintf Functions 想要printf unsigned long long 用%llx; e.g.
Time of Update: 2018-12-03
下面是一個簡單的測試SSE指令效能的程式,可以看到明顯的效能提升。(說明:程式中的timing.h使用的是http://blog.csdn.net/gengshenghong/article/details/6973086中介紹的時間間隔擷取方法)#define WIN#include "timing.h"#include <intrin.h>#include <stdlib.h>#include <math.h>#define N 4*100000//
Time of Update: 2018-12-03
本來打算像上一篇一樣看看基於C++的Metro程式都有些什麼內容的,據說Metro支援native c++,結果。。。尼瑪昨天建立一個c++ metro工程都可以跑的,今天就見鬼了,隨便建一個c++工程自己都編譯不過去,尼瑪VS11的bug也太多了。看了看預設產生的c++代碼,裡面什麼partial ref的,應該都是託管c++才有的關鍵字吧?(PS:不熟悉託管c++,所以不太清楚如何知道一段代碼屬於託管c++。)懷疑:MS的C++
Time of Update: 2018-12-03
同類參考:http://anony3721.blog.163.com/blog/static/51197420114173238237/(聲明:下面的部分內容和圖片轉載於此頁面)http://hi.baidu.com/fwy434822/blog/item/c6289e3541f6271590ef391e.htmlhttp://www.chineselinuxuniversity.net/articles/33950.shtmlhttp://tieba.baidu.com/f?kz=663104
Time of Update: 2018-12-03
在http://blog.csdn.net/gengshenghong/article/details/7008682裡面列舉了一些手冊,其中Intel Intrinsic
Time of Update: 2018-12-03
參考:<installdir>/docs/gsg/C/index.html 或對應的PDF文檔1. BDB中的概念說明:BDB是value/key資料庫,並不是關聯式資料庫。下面是BDB中的幾個重要概念:records: 邏輯上,每一個記錄表示了資料庫的一個入口。每一個record包含了兩個資訊:key和data。access methods: 存取方法,Berkeley給使用者提供了多種存取方法,供使用者根據自己的需求來選擇合適的方法來組織資料庫的資料。一般選擇存取方法有兩個原則:
Time of Update: 2018-12-03
本文是使用C語言版GDI+仿C#文字繪製的例子代碼:#include "../../SampleCode/comcode/Application.h"#pragma hdrstopWCHAR flowedText1[] =L"I went down to the St James Infirmary,/n /Saw my baby there,/n /Stretched out on a long white table,/n /So sweet,so cold,so fair,/n /
Time of Update: 2018-12-03
我們知道,在C/C++代碼中,可以插入彙編代碼提高效能。現在的指令集有了很多的進階指令,如果我們希望使用這些進階指令來實現一些高效的演算法,就可以在代碼中嵌入彙編,使用SSE等進階指令,這是可行的,但是如果對彙編不太熟悉,不願意使用彙編的人來說,其實也是可以的,這就是Compiler
Time of Update: 2018-12-03
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/index.htm#intref_cls/common/intref_bk_sse.htmhttp://www.tommesani.com/Docs.htmlIntel架構開發人員手冊:裡面有很多和架構、指令集、最佳化等相關的手冊文檔http://www.intel.com/content/www/us/en/p
Time of Update: 2018-12-03
本文例子展示GDI+的ColorMatrix的幾種經典應用:#include "../../SampleCode/comcode/Application.h"#pragma hdrstop#defineID_REASE100#defineID_ALPHA101#defineID_BRIGHT102#defineID_GRAY103#define ID_TWO104#defineID_INVERT105PGpBitmap bitmap;PGpImageAttr attr;Rect
Time of Update: 2018-12-03
繼續瞭解使用native_app_glue來編寫純C++的Android NDK開發。下面從一個"最簡單“的可啟動並執行程式來瞭解native_app_glue程式的基本組成。1. 源碼main.cpp:// main.cpp#include <android_native_app_glue.h>/** * This is the main entry point of a native application that is using *
Time of Update: 2018-12-03
本文介紹一個利用C語言版GDI+製作浮水印圖片的例子,下面是程式碼:#include "../../SampleCode/comcode/Application.h"#pragma hdrstop#defineID_SAVE101PGpBitmap bitmap;PGpBitmap photo;PGpBitmap watermark;INT wmWidth, wmHeight;INT phWidth, phHeight;HFONT hFont = NULL;ColorMatrix
Time of Update: 2018-12-03
早期的時候我使用的開發工具是VB6,VB6做影像處理的速度在我的軟體Imageshop中有所體現,還是算可以的。目前,我已經改用C#來研究映像演算法,C#中有指標,做影像處理起來效率確實要高不少。VB.NET當初也用過不到半年的時間,在http://blog.csdn.net/laviewpbt/article/details/752003一文中我曾經對VB.NET影像處理做了簡單的總結。今天就我掌握的情況,在對VB.NET的影像處理做一個簡單的描述。
Time of Update: 2018-12-03
閱讀提示: 《C++影像處理》系列以代碼清晰,可讀性為主,全部使用C++代碼。 《Delphi影像處理》系列以效率為側重點,一般代碼為PASCAL,核心代碼採用BASM。 儘可能保持二者內容一致,可相互對照。 本文代碼必須包括《C++影像處理 -- 資料類型及公用函數》文章中的BmpData.h標頭檔。 文章《C++影像處理 --
Time of Update: 2018-12-03
photoshop色調均化功能通常是在進行修片處理前期比較常用的功能之一,其對擴充映像的對比,增強視覺效果有一定的作用。在很多課本或者文章中,也稱這種處理為灰階均衡化、長條圖均衡化等等。演算法原理都是對原始映像統計其長條圖,然後通過累計分布函數,重新隱射長條圖資料,使每個色階的的分布機率都往一致的方向調整。我看到的網路上的代碼,抑或是一些教材中的代碼,對這個過程的描述都是相當的冗餘,要麼是代碼累贅,效率低下,要麼是蘿莉囉唆,很是難受。 在給出My
Time of Update: 2018-12-03
閱讀提示: 《C++影像處理》系列以代碼清晰,可讀性為主,全部使用C++代碼。 《Delphi影像處理》系列以效率為側重點,一般代碼為PASCAL,核心代碼採用BASM。 儘可能保持二者內容一致,可相互對照。 本文代碼必須包括《C++影像處理 -- 資料類型及公用函數》文章中的BmpData.h標頭檔。
Time of Update: 2018-12-03
前段日子有朋友諮詢了下分析映像主顏色的演算法,我對這一塊也沒有什麼深入的研究,參考了一些小代碼,然後自己寫了一個很簡單的小工具,現共用給大家。 介面如下: 演算法的原理很簡單,就是統計出映像中各種顏色的分布情況,然後取前N個顏色作為主成分。 當然,實際上如果直接對映像的各通道256個色階進行統計,得到的結果可能是沒有意義的,所以一般都需要先把256個色階線性隱射到更少的色階範圍。 主要的代碼如下: static unsafe