原创 ffmpeg源碼下載

http://www.ffmpeg.org/download.html

原创 當硬件版本較多,導致軟件實現也較多,怎麼辦

因爲硬件接口在不斷更新的原因,導致軟件函數版本越來越多怎麼辦? 根據硬件版本號,用if else的方式來判斷,這樣做太麻煩,影響效率 可以通過一個統一的函數接口,來實現,底層實現可以通過回調函數的方式來註冊。

原创 各個變量鏈接時放在哪裏

int a; int b = 0; int c = 1; int d[10]={0}; int e{10}={1}; int main() { int f=1; } 對於.o文件而言,a是放在COMMON段,b d放在.bss段, c

原创 while (i

#include <stdio.h> int i = 10; int main() { while (i < 5); return 0; } 如果用較高版本gcc編譯的話,會造成死循環。 須使用volatile;

原创 timer中斷代碼不對導致的錯誤

無意中在timer中斷處理函數中直接返回0 然後導致在start_kernel函數中的kmem_cache_init_late函數卡住。 另外,還遇到一個情況,也是單步到kmem_cache_init_late函數卡住,但是原因完全

原创 android buserr

錯誤現象見下面: 出了一個buserr,又是我們熟悉的0xdeadbaad,進程自殺。 這個進程退出了,android還是能正常起來。 問題大家跟蹤了很久沒有發現原因,最後倒內核版本發現是內核配置了一個宏引起的,CONFIG_ARCH_U

原创 測試utlb震盪的case

volatile int aaa=10000000; volatile int bbb; int main() { bbb = 10000000; volatile int ccc=10000000; while((aaa) &

原创 intltool下載

http://ftp.gnome.org/pub/gnome/sources/intltool/

原创 把yaffs源碼加到linux內核中 錯誤

錯誤1:執行./patch-ker.sh 出現:bad interpreter:No such file or directory 解決:dos2unix patch-ker.sh 錯誤2:make menuconfig 出現:fs/y

原创 中斷處理函數返回值不對達到10萬次

聽說,當linux中斷處理函數返回不對,次數達到10w次的時候,linux就會屏蔽該中斷,不知是真是假。。

原创 關於C++傳參的哪些事

假如C語言傳參是通過r0, r1, r2, r3, (sp, x),第一個參數放在r0,一次類推。 那麼C++傳參,r0存放的是this指針,r1存放的纔是第一個參數。 另,一個對象的第一個元素是虛函數表的基址。 點贊

原创 動態庫中函數鏈接地址的影響因素

1、make的版本 2、第一遍gcc和第二遍gcc 這二者會導致uclibc庫的libc庫,函數的鏈接地址不一樣。 點贊 收藏 分享 文章舉報 上帝啃蘋果 發佈了39 篇原創

原创 linux kernel啓動時卡在setup_arch

gdb在start_kernel函數單步時發現,卡在setup_arch函數 ctrl+c之後,發現是停在memset函數 然後,重新啓動,在memset函數設置斷點,發現memset的參數length非常大。 最後發現是arch/csk

原创 沒有聲明函數,直接調用導致的錯誤

一個函數參數是float類型的,寫在一個文件中 在另一個文件中去調用它,而且沒有聲明 這樣的話,傳進去float類型的參數,它也會按照double類型的來編碼傳參,最終導致錯誤。 點贊 收藏 分享

原创 csky libmad庫比mips慢

很久以前的事了. config.sub沒有添加csky的東西。 導致編譯時編譯選項不對,編出來的代碼大於mips,解碼也比較慢。 點贊 收藏 分享 文章舉報 上帝啃蘋果 發