位域之我見(原創)

 寫的不對的地方,請大家批評指正:位域是個好東西,我認為它的功能主要是節省記憶體空間,但給定址帶來極大的不便,估計會導致速度變慢,所以可能有的cpu會禁止此功能或者說強制以位元組對齊之類的。可能某些編譯器的編譯選項也可以協助地址對齊,但一個比較簡單的方法是用”廢位“來填充不用的位來對齊。/*    測試位域的使用存放和使用*/    struct bs    {        unsigned int a:4;        unsigned int b:7;    }data1;       

簡單總結一下這幾天的工作ffmpeg

  簡單總結一下這幾天的工作 BY xiaoxiongli 這幾天主要用ffmpeg對原始的音頻流和視頻流進行壓縮,視頻流的格式是gbr24,音頻流的格式是pcm的 就壓縮成geuss_format("avi")裡面描述的那種格式,沒仔細看這個函數,大概就是視頻資料壓縮成mpeg4, 看了看二進位的資料,關鍵字好像是FMP4。音頻壓縮成mp2/mp3?沒搞清楚是2還是3,恩,應該是3吧。 視頻壓縮非常順利,代碼寫好了後編譯,運行,直接就好了,只不過把gbr搞成了rgb,顏色不對了,改過來就好了。

淺析中斷向量表

對於8086cpu而言,由於它是正兒八經的16位處理器(內部匯流排和外部匯流排都是16位的),所以為了使其能定址到1M位元組的空間,需要採用邏輯地址的方式,也就是“段值:位移”的方式,根據這種邏輯地址的方式,計算物理地址的公式為--段值左移4位+位移值。 那我們進一步來觀察8086的中斷向量表,其實中斷向量表中放著什麼呢?其實它放著每一個中斷向量的ISR的入口地址,換一句話說就是中斷處理的入口地址,說白了,就是一個地址。但是它為什麼在中斷向量表一個中斷號佔用4個位元組呢?8086cpu不是16位

什麼是hash表?

簡單來說,hash就是找到一種資料內容和資料存放地址之間的映射關係。比如,由若干字串要存放到 一個哈西表中,希望能夠在O(1)的時間內在表中定位某個特定的字串,我們可以用數組來實現哈西表,找到某種函數sting   ->    integer,記為   p   =   f(s),其中p是一個整數,s是一個字串,p就是字串s在數組中的下標。這樣如果需要在數組中定

關於多重繼承的一些理解

class Base1{public: Base1(){abc = 1;} ~Base1(){}  void testFunc(){printf("This is Base1's Func~!/n");} int abc;};class Base2{public: Base2(){abc = 2;} ~Base2(){} void testFunc(){printf("This is Base2's Func~!/n");} int abc;};class son: public Base1,

about DCT---轉載

about DCT.........MPEG採用了Ahmed(一個巨牛的數學家) 等人於70年代提出的離散餘弦變換(DCT-Discrete Cosine Transform)壓縮演算法,降低視頻訊號的空間冗餘度。DCT將運動補償誤差或原畫面資訊塊轉換成代表不同頻率分量的係數集,這有兩個優點:其一,訊號常將其能量的大部分集中於頻率域的1個小範圍內,這樣一來,描述不重要的分量只需要很少的位元數;其二,頻率域分解映射了人類視覺系統的處理過程,並允許後繼的

NucleusPLUS嵌入式作業系統簡單介紹

     NucleusPLUS嵌入式作業系統是目前最受歡迎的作業系統,NucleusPLUS是為即時嵌入式應用而設計的一個搶先式多任務作業系統核心,其 95%的代碼是用ANSI C寫成的,因此非常便於移植並能夠支援大多數類型的處理器。    從實現角度來看,NucleusPLUS是一組C函數庫,應用程式代 碼與核心函數庫串連在一起,產生一個目標代碼,下載到目標板的RAM中或直接燒錄到目標板的ROM中執行。在典型的目標環境中,NucleusPLUS核

Nucleus Plus核心技術

 Nucleus Plus在嵌入式系統應用     Nucleus Plus是美國原始碼作業系統商ATI公司推出的新一代嵌入式作業系統,屬於搶先式即時多任務作業系統核心, 95%的代碼使用ANSI C編寫,非常便於移植於各種處理器家族。從實現的角度講,不同於傳統嵌入式開發,Nucleus Plus是以函數庫的形式連結到目標應用程式中,形成可執行目標代碼,下載到目標板上或燒到ROM/FLASH ROM

剖析Qt的事件機制原理

著作權聲明請尊重原創作品。轉載請保持文章完整性,並以超連結形式註明原始作者“tingsking18”和主要站台地址,方便其他朋友提問和指正。  QT源碼解析(一)

rand和srand的用法

  首先我們要對rand&srand有個總體的看法:srand初始化隨機種子,rand產生隨機數,下面將詳細說明。rand(產生隨機數)表標頭檔: #include<stdlib.h> 定義函數 :int rand(void) 函數說明 :因為rand的內部實現是用線性同餘法做的,他不是真的隨機數,只不過是因為其周期特別長,所以有一定的範圍裡可看成是隨機的,rand()會返回一隨機數值,範圍在0至RAND_MAX 間。在調用此函數產生隨機數前,必須先利用srand()設好隨機數種子,

Qt容器類

Qt容器類的好處在於,它提供了平台無關的行為,以及隱式資料共用技術。所謂平台無關,即Qt容器類不因編譯器的不同而具有不同的實現;所謂“隱式資料共用”,也可以稱作“寫時複製copy on write”,這種技術允許在容器類中使用傳值參數,而不會發生額外的效能損失。 目錄[隱藏]1 順序容器 1.1 QVector<T>1.2 QLinkedList<T>1.3 QList<T>1.4 QStringList1.5 QStack<T>1.6

RB-tree(zz)

linux核心中的使用者態地址空間管理使用了紅/黑樹狀結構(red-black tree)這種資料結構,我想一定有許多人在這種資料結構上感到困惑,我也曾經為此查閱了許多資料以便瞭解紅/黑樹狀結構的原理。最近我在一個外國網站上看到一篇講解紅/黑樹狀結構的文章,覺得相當不錯,不敢獨享,於是翻譯成中文供所有核心版的弟兄們參考。由於本人水平有限,難免有出錯之處,歡迎大家指正。

VC/GCC 宏一覽

C/C++宏大全一、標準預定義宏The standard predefined macros are specified by the relevant language standards, so they are available with all compilers that implement those standards. Older compilers may not provide all of them. Their names all start with double

Qt/Qt Quick宏淺議

請尊重原創作品和譯文。轉載請保持文章完整性,並以超連結形式註明原始作者地址http://blog.csdn.net/changsheng230,方便其他朋友提問和指正。 剛開始接觸Qt的朋友可能對Qt在使用當中需要聲明的各色各樣的宏感到神秘而又陌生,本文將介紹Qt中經常使用的幾個宏: Q_OBJECT, SIGNAL與SLOT, Q_SIGNALS 與 Q_SLOTS, Q_EMIT ,Q_INVOKABLE, Q_PROPERTY: 宏的標頭檔出處:

什麼是介面編程

面向介面編程(很經典..轉載的)2008-07-17

事件Qevent的接受和忽略 和重定義 事件過濾器

事件處理流程:某個事件發生------>exec()迴圈會接收到這個事件------>建立一個事件對象,並將對象傳遞給QObject::event()------> 在QWidget::event()函數中,分配給特定的事件處理函數------>在QButton的事件處理函數中emit(clicked訊息)前面說到了事件的作用,下面來看看我們如何來接收事件。回憶一下前面的代碼,我們在子類中重寫了事件函數,以便讓這些子類按照我們的需要完成某些功能,就像下面的代碼:void

裝置I/O之OVERLAPPED(zz)

裝置I/O之OVERLAPPEDOVERLAPPED,顧名思義為重疊,乍一看會很奇怪,重疊?誰跟誰重疊?似乎在WIN32的Programming中沒有這個概念呀?要討論這個問題就要追溯到對裝置I/O的訪問中  在WIN32中,使用者不能象以前那樣直接對硬體進行訪問,使得這一層對開發人員而言是個"黑盒",而是提供了一組對應的API的介面.讓開發人員基於提供的介面進行開發,而把低層的訪問交給了Driver或者核心. 

關於stl sgi map的一點體會

比較詳細的研究了sgi map map

求結構體成員的位移量

 我們知道,在TCP/IP協議中,當我發送一個訊息的時候,我必須要定義一個訊息頭,然後和訊息體一起發送,那如何從一個訊息中快速定位到訊息體呢?舉個例子:首先定義一個訊息:typedef struct tagT_RUDP{ int a; int b; int c; unsigned char usr[50];}T_RUDP;定義一個求位移量的宏:#define RUDP_OFFSET (int)(&((T_RUDP*)0)->usr[0])則宏RUDP_OFFSET

systaxhighlighter高亮文本處理類

[說明]systaxhighlighter展示如何使用把一個c/c++源檔案,按照一定方案高亮顯示出來。[流程]1.建立一個QMainWindow作為架構,把一個QTextEdit作為其的centralWidget。既介面的主體是一個文本編輯的Widget。2.Qt提供了使用者高亮顯示的類,QSyntaxHighlighter,這個類提供了處理文本,格式化顯示的介面。但這個類本身是一個純虛類(pure virtual), 所以必須繼承這個類,並實現void QSyntaxHighlighter:

總頁數: 61357 1 .... 13896 13897 13898 13899 13900 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.