原创 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,解碼也比較慢。 點贊 收藏 分享 文章舉報 上帝啃蘋果 發