Time of Update: 2018-12-03
題目:16k採樣率音頻資料下採樣到8k採樣率求解方案分析:直接每隔一個取一個採樣值,這樣就可以得到8k採樣率的資料。但是這樣明顯會有問題。按照採樣率變換理論,首先應該通過一個低通濾波器,濾掉[pi/2,
Time of Update: 2018-12-03
別的不多說了,圖比文字更具有描述力,自己看!一直都把堆棧放一起,所以很多人會誤以為他們的組合是一個詞語,就像“衣服”一樣簡單,其實不然,今天在下就將最近學習總結的一些與大家分享。 一個由C/C++編譯的程式佔用的記憶體分為以下幾個部分: 1、棧區(stack):又編譯器自動分配釋放,存放函數的參數值,局部變數的值等,其操作方式類似於資料結構的棧。
Time of Update: 2018-12-03
在做C語言開發,尤其是中介層開發過程中,回呼函數是我們必須掌握的一種方法。由於本人也是剛工作,屬於實習期。過去對回呼函數有些瞭解與應用,但是在這裡為了加深理解,方便查閱,我對自己回調心得有以下認識,謝謝笑納,批評指正。我的連絡方式在部落格左側。 俺理解的回調概念:
Time of Update: 2018-12-03
(五)用BCB編寫多線程應用程式 隨著Windows系統的全球性普及,多線程技術已越來越多地運用到許多軟體設計中。使用多線程技術可全面提高應用程式的執行效率。以前為了實現多線程編程,基本上都是調用一系列的API函數,如CreateThread、ResumeThread等,不容易控制,還容易出錯。在使用BCB以後,我才發現原來編寫多線程程式也可以如此簡單!BCB為我們提供了強大的TThread類,從而使得多線程編程變得非常簡便易用。下面請跟我一起開始我們的BCB多線程編程之旅。1.
Time of Update: 2018-12-03
6、 使用ADO6.1 概述 ADO是ActiveX資料對象(ActiveX Data Object),這是Microsoft開發資料庫應用程式的物件導向的新介面。ADO訪問資料庫是通過訪問OLE DB資料提供者來進行的,提供了一種對OLE DB資料提供者的簡單高層提供者。ADO技術簡化了OLE DB的操作,OLE
Time of Update: 2018-12-03
本講討論基類和衍生類別的基本概念。 通過繼承機制,可以利用已有的資料類型來定義新的資料類型。所定義的新的資料類型不僅擁有新定義的成員,而且還同時擁有舊的成員。我們稱已存在的用來派生新類的類為基類,又稱為父類。由已存在的類派生出的新類稱為衍生類別,又稱為子類。 在C++語言中,一個衍生類別可以從一個基類派生,也可以從多個基類派生。從一個基類派生的繼承稱為單繼承;從多個基類派生的繼承稱為多繼承。 衍生類別的定義格式 單繼承的定義格式如下: class <衍生類別名>:&
Time of Update: 2018-12-03
/********************************************************************************* 程式名稱:動態數組 ** 程式功能:C語言動態數組 ,物件導向的實現方法** 升級描述:方法中全部使用this指標操作對象;size的維護也放到方法中 ** 程式作者:syrchina** 修改日期:2012-3-12*********************************************************
Time of Update: 2018-12-03
快速排序:#include <stdlib.h>#include <stdio.h>#include <string.h>#define LENGTH(x) sizeof(x)/sizeof(x[0])/**輸出數組元素*\param arr:指向數組的指標*\param len:數組元素的個數*/void print(char (*arr)[10],int len){ int i; for (i=0;i<len;i++) {
Time of Update: 2018-12-03
#include <stdio.h>#define partN 512#define b(i) (i < partN ? x[i] : y[i-partN])int x[partN],y[partN];int* a(int i){int temp;temp = i/partN;switch(temp){case 0: return (x + i);break;case 1: return (y + i - partN);break;}return 0;}int
Time of Update: 2018-12-03
大端(big_endian):字資料的高位元組儲存在低地址中,而字資料的低位元組儲存在高地址中。小端(little_endian):字資料的高位元組存儲存在高地址中,而字資料的低位元組儲存在低位元組中。而對union型成員的存取都是相對於該聯合體基地址的位移量為0處開始,也就是聯合體的訪問不論對哪個變數的存取都是從union的首地址位置開始的。利用這個特性,我們可以判斷當前系統是大端還是小端。#include <stdio.h>union AA{ int i;
Time of Update: 2018-12-03
//兩個多項式的係數f分別存在x[]和y[]中,下標即為次數,*Max表示本多項式最高次數int MX_double( double x[], int xMax, double y[], int yMax, double result[], int *resultMax ){ int i=0, k=0; *resultMax = xMax + yMax;//擷取最新的s最高次數 memset(result, 0, (1+*resultMax)*sizeof(double));
Time of Update: 2018-12-03
轉自:http://www.veisun.com/09/2009-06/NewInfo-3360.html 前言首先來說一下,為什麼我們要瞭解函數調用棧機制。很多人會說,我從未關注函數調用棧機制,同樣可以寫出工作的很好的程式,知道這個又有什麼用。但是,對於任何技術而言,我們對其瞭解的越透徹,才能越好的駕馭他;另一方面,在實際工作中,我們經常會遇到通過損毀傾印檔案(.dump)檔案來定位BUG的問題,如果不對函數調用棧機制有一個清晰的認識,就很難從dump中得到函數參數,傳回值的寶貴資訊。 本文約
Time of Update: 2018-12-03
我在網上看見一個文章說回答不出這個問題的人是不會被僱傭的。這是區分C程式員和嵌入式系統程式員的最基本的問題。搞嵌入式的傢伙們經常同硬體、中斷、RTOS等打交道,所有這些都要求用到volatile變數。下面來看下面試題中提到的問題(答案我從網路整理,以便複習):關鍵字volatile有什麼含意?並給出三個不同的例子。volatile的本意是“易變的” 由於訪問寄存器的速度要快過RAM,所以編譯器一般都會作減少存取外部RAM的最佳化,但有可能會讀髒資料。當要求使用volatile
Time of Update: 2018-12-03
以前在學習C語言時聽說過所謂的C語言標記化結構初始化文法,但當時出於偷懶就沒有細究。最近學習Linux裝置驅動,就對它的結構體初始化寫法感到奇怪,所有的初始化代碼都寫清了變數名,並且變數名前面還有一個詭異的點。又遇到了,就查了一下,長見識了啊,此種初始化寫法並不是什麼特殊的代碼風格,而是所謂的C語言標記化結構初始化文法(designated initializer),而且還是一個ISO標準。#include <stdio.h>#include <stdlib.h>
Time of Update: 2018-12-03
常類型是指使用類型修飾符const說明的類型,常類型的變數或對象的值是不能被更新的。因此,定義或說明常類型時必須進行初始化。 一般常量和對象常量 1. 一般常量 一般常量是指簡單類型的常量。這種常量在定義時,修飾符const可以用在類型說明符前,也可以用在類型說明符後。如: int const x=2; 或 const int x=2; 定義或說明一個常數組可採用如下格式: <類型說明符> const
Time of Update: 2018-12-03
子物件 當一個類的成員是某一個類的對象時,該對象就為子物件。子物件實際就是對象成員。如:class A{ public: … private: …};class B { public: … private: A
Time of Update: 2018-12-03
所謂函數重載是指同一個函數名可以對應著多個函數的實現。例如,可以給函數名add()定義多個函數實現,該函數的功能是求和,即求兩個運算元的和。其中,一個函數實現是求兩個int型數之和,另一個實現是求兩個浮點型數之和,再一個實現是求兩個複數的和。每種實現對應著一個函數體,這些函數的名字相同,但是函數的參數的類型不同。這就是函數重載的概念。函數重載在類和對象的應用尤其重要。 函數重載要求編譯器能夠唯一地確定調用一個函數時應執行哪個函數代碼,即採用哪個函數實現。確定函數實現時,要求從函數參數的個數和
Time of Update: 2018-12-03
類型轉換是將一種類型的值對應為另一種類型的值。類型轉換實際上包含有自動隱含和強制的兩種。 類型的自動隱式轉換 C++語言編譯系統提供的內部資料類型的自動隱式轉換規則如下: 1. 程式在執行算術運算時,低類型可以轉換為高類型。 2. 在賦值運算式中,右邊運算式的值自動隱式轉換為左邊變數的類型,並賦值給它。 3. 當在函數調用時,將實參值賦給形參,系統隱式地將實參轉換為形參的類型後,賦給形參。 4. 函數有傳回值時,系統將自動地將返回運算式類型轉換為函數類型後,賦值給調用函數。
Time of Update: 2018-12-03
在《基類和衍生類別》中講述了單繼承的基本概念,這節著重講述繼承的具體應用。 在單繼承中,每個類可以有多個衍生類別,但是每個衍生類別只能有一個基類,從而形成樹形結構。 成員存取權限的控制 在《基類和衍生類別》一講中,我們講述了衍生類別和衍生類別的對象對基類成員的存取權限的若干規定,這裡通過一個執行個體進一步討論存取權限的具體控制,然後得出在使用三種繼承方式時的調用方法。//繼承性的public繼承方式的存取權限的例子#include file://定義基類Aclass A{public:
Time of Update: 2018-12-03