Time of Update: 2018-12-04
在C語言中沒有專門的字串變數,通常用一個字元數組來存放一個字串。前面介紹字串常量時,已說明字串總是以'/0'作為串的結束符。因此當把一個字串存入一個數組時,也把結束符'/0'存入數組,並以此作為該字串是否結束的標誌。有了'/0'標誌後,就不必再用字元數組的長度來判斷字串的長度了。C語言允許用字串的方式對數組作初始化賦值。例如: char c[]={'c', ' ','p','r','o','g','r','a','m'};可寫為: char c[]={"C program"}
Time of Update: 2018-12-04
原子操作指的是在執行過程中不會被別的代碼路徑所中斷的操作。 linux核心提供了一系列函數來實現核心中的原子操作,這些函數又分為兩類,分別針對位和整型變數進行原子操作。它們的共同點是在任何情況下操作都是原子的,核心代碼可以安全地調用它們而不被打斷。位和整型變數原子操作都依賴底層CPU的原子操作實現,因此所有這些函數都與CPU的架構密切相關。 自旋鎖 自旋鎖 ------------------------------------------------------ 自旋鎖是專為防止多處理器
Time of Update: 2018-12-04
指向多維陣列的指標變數把二維數組a分解為一維數組a[0],a[1],a[2]之後,設p為指向二維數組的指標變數。可定義為: int (*p)[4]它表示p是一個指標變數,它指向包含4個元素的一維數組。若指向第一個一維數組a[0],其值等於a,a[0],或&a[0][0]等。而p+i則指向一維數組a[i]。從前面的分析可得出*(p+i)+j是二維數組i行j 列的元素的地址,而*(*(p+i)+j)則是i行j列元素的值。二維數組指標變數說明的一般形式為:類型說明符
Time of Update: 2018-12-04
看來問題只能這樣解決了,現在還要多測測,防止產生新的問題。目前來看,對現有代碼沒有影響,花屏的幀直接屏蔽掉了。 思路:問了下機頂盒方面h264解碼的,他們用的是硬體解碼,他們做到不花屏的方法就是簡單的設定了一個硬體解碼提供的介面:設定了錯誤處理模式。我想這個錯誤處理模式肯定對那些錯誤的幀直接屏蔽掉了,這樣顯示到螢幕上就不花了。 因此,就有了問題:ffmpeg有沒有錯誤處理的模式,能使花屏的幀(h264格式的)不顯示出來?查了些資料,沒找到。 PS:各位如果知道的話,請留個言。 我假定ffmpeg
Time of Update: 2018-12-04
在網上找了很多資料,經過自己的一些修改,就成了這篇筆記,防止自己以後忘記吧先在網上下了個綠色版(就是那種含有 "@綠化.reg" 和 "@刪除SI綠化.reg"檔案,且能改變字型大小的)。 然後發現中文操作還是有問題,就嘗試著自己改,終於解決了。下面是自己改的步驟。作業系統windows XP。 感謝很多辛勤的網友吧。/*======================================================================*
Time of Update: 2018-12-04
前幾天,在聽一節課時,關於malloc返回的地址是物理地址還是線性地址,跟人進行了激烈的討論。當時腦子也不知怎麼了,硬是覺得返回的是物理地址,還寫了一個程式進行驗證。 #include <stdio.h>#include <stdlib.h> int main(){char * p = (char *)malloc(sizeof(char));printf("address=%x/n",p);return
Time of Update: 2018-12-04
筆者買了個tiny6410開發板,對照<<04- Tiny6410 Linux開發指南-20110408.pdf>>書中 1.3.4節配置網路檔案系統NFS服務章節。發現怎麼搞串口輸出都是亂碼。經過一番搜尋,終於解決問題。如下:開發主機:虛擬機器fedora 14 ip是192.168.1.100板子ip: 192.168.1.230板子上插的串口是COM01. 把後面的 1.4章節"解壓安裝原始碼及其他工具", 步驟做完
Time of Update: 2018-12-04
volatile關鍵字是一種類型修飾符,用它聲明的類型變數表示可以被某些編譯器未知的因素更改。 用volatile關鍵字聲明的變數i每一次被訪問時,執行組件都會從i相應的記憶體單元中取出i的值。 沒有用volatile關鍵字聲明的變數i在被訪問的時候可能直接從cpu的寄存器中取值(因為之前i被訪問過,也就是說之前就從記憶體中取出i的值儲存到某個寄存器中),之所以直接從寄存器中取值,而不去記憶體中取值,是因為編譯器最佳化代碼的結果(訪問cpu寄存器比訪問ram快的多)。 以上兩種情況的
Time of Update: 2018-12-04
MVP是根據幀內相領塊A,B,C的MV預測得到的,然後把當前點o加上MVP,獲得新的匹配點x,在新點x的基礎上進行搜尋,獲得mcost最小的點y,y與x的差為MVD,那麼o
Time of Update: 2018-12-04
一個典型的TCP連接埠掃描器,通過用connect函數對伺服器進行嘗試串連來判斷該伺服器上的連接埠是否開放。這個掃描器是多線程的,現在的Winsock編程大多數採用多線程技術,這樣可以充分利用頻寬,如Netants的5個螞蟻下載,一些FTP軟體的多線程上傳,等等!//Source Code In C++Builder5Cpp代碼 #pragma hdrstop #include “Unit1.h” #define threadNum 10//線程數
Time of Update: 2018-12-04
htons() 簡述: 將主機的無符號短整形數轉換成網路位元組順序。 #include <winsock.h> u_short PASCAL FAR htons( u_short hostshort); hostshort:主機位元組順序表達的16位元。 注釋: 本函數將一個16位元從主機位元組順序轉換成網路位元組順序。 傳回值: htons()返回一個網路位元組順序的值。 參見: htonl(), ntohl(), ntohs(). -----------
Time of Update: 2018-12-04
二、嵌入式作業系統uClinux下的網路socket編程
Time of Update: 2018-12-04
虛擬機器下登陸beso_wifi開發板以及安裝圖形介面gdb調試工具由於開發,以及偷懶的需要(不想直接安裝linux),於是我花了一些時間研究了下如何在VMware的linux下登陸操控開發板。具體過程如下:一.所需軟體及硬體:1.beso_wifi開發板(晶片ADSP-BF561,系統uclinux)2.VMware Workstation
Time of Update: 2018-12-04
當使用資料分割時,源編碼器把不同類型的分割安排在3個不同的緩衝器中,同時分區的尺寸必須進行調整以保證小於MTU長度,因此是編碼器而 不是NAL來實現資料分割。在解碼器上,所有分割用於資訊重建。這樣,如果幀內或幀間資訊丟失了,有效幀頭資訊仍然能用來提高錯誤隱藏效率,即有效宏
Time of Update: 2018-12-04
今天凱凱讓我給他調試一個簡單的程式我在VC6中編譯的時候 發現報錯:缺少stdbool.h這個標頭檔。於是上baidu尋找了相關資料,發現這是一個C99標準庫中定義bool類型的標頭檔,而起VC不支援C99這個標準庫。後來找到了stdbool.h這個代碼,自然想到了自己建標頭檔的方法,但是添加進去之後,編譯依然沒法通過。分析了下問題後發現集中在#if __STDC_VERSION__ < 199901 typedef int _Bool #endif
Time of Update: 2018-12-04
B條帶的預測模式分為 直接模式,單向預測方式,多假設預測方式,幀內預測方式其中直接預測模式分為空白間和時間兩種 Direct模式首先需要一個mvcol(co-located
Time of Update: 2018-12-04
指標是個很強大的工具,可是正因為它太強大,所以要操作它不是件易事。操作不當造成的野指標,甚至會引起系統死機等比較嚴重的後果。 如果程式定義了一個指標,就必須要立即讓它指向一個我們設定的空間或者把它設為NULL,如果沒有這麼做,那麼這個指標裡的內容是不可預知的,即不知道 它指向記憶體中的哪個空間(即野指標),它有可能指向的是一個空白的記憶體地區,可能指向的是已經受保護的地區,甚至可能指向系統的關鍵記憶體,如果是那樣就糟
Time of Update: 2018-12-04
快樂蝦http://blog.csdn.net/lights_joy/lights@hb165.com 本文適用於ADSP-BF561uclinux-2008r1.5-rc3 (smp patch)Visual DSP++ 5.0(update 5)BF561-EZKIT 歡迎轉載,但請保留作者資訊 本文僅對BF561-EZKIT視頻採集做一簡單學習。1.1 整體結構要進行視頻採集首先在硬體上要採用一種視頻採集晶片完成類比訊號到數字訊號的轉換,在BF561-EZKIT上採用的是ADV7
Time of Update: 2018-12-04
uClinux啟動後:(不存在虛擬記憶體,即虛擬記憶體即實體記憶體) root:~> busybox free total used free shared buffers Mem: 54332 16184 38148 0
Time of Update: 2018-12-04
malloc()函數比數組有什麼優勢. 懸賞分:0 - 解決時間:2009-8-17 12:54 malloc()函數比數組有什麼優勢,比如說:我聲明一個可以儲存100個字元的記憶體塊和聲明一個可以儲存100個字元的數組,我覺的malloc()並沒有比數組佔優勢.大家可以打個例子來體現malloc()比數組更佔優勢.謝謝. 問題補充:你們也說,既然我用多少就分配多少,那我不是知道我要用多少,我直接定義數組為我想要用多少的數量不就行了.或者是我說錯了.大家看這樣的一個例.p = ( int*