Time of Update: 2018-12-04
sizeof: c語言中判斷資料類型長度符的關鍵字 用法 sizeof(類型說明符,數組名或運算式); 或 sizeof 變數名 1. 定義: sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的記憶體位元組數。 MSDN上的解釋為: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type
Time of Update: 2018-12-04
轉自:http://www.latelee.org/porting-uboot/150-u-boot-porting-memory-again.html#include <common.h>#include <command.h>int a[2][2] = {{3,56},{15,73},};char *b[] = {"linux","windows","mac os",};char *c[][2] = {{"linux",
Time of Update: 2018-12-04
來源於microchip資深工程師的網路研討會 關於C的預先處理和它對宏定義的預先處理,我們來看一些宏的正確和錯誤的拓展,以及怎樣拓展他們,所有的規範都是建立在ANSI C編譯器基礎上的。1. 簡單的宏處理: #define name “replacement text” 樣本用法: #define START 20 foobar = START;“replacement text”可以被其他的宏定義展開例如:
Time of Update: 2018-12-04
在前面的文章中的dnw原始碼,使用了這樣一個結構體:struct download_buffer { uint32_t load_addr; /* load address */ uint32_t size; /* data size */ //size=地址(4位)+大小(4位)+資料+校正(2位) uint8_t data[0];//0長度數組,指向資料 /* uint16_t checksum; */
Time of Update: 2018-12-04
前一段時間調試了6410的休眠和喚醒,一直沒有時間自己總結一下,下面把具體的實現貼出來,供大家參考,又不對的地方,請幫忙糾正,謝謝。1,在/driver/char中修改Makefile,添加以下語句:obj-$(CONFIG_APM_EMULATION)+= apm-emulation.o2,在/driver/char中修改Kconfig,添加以下語句:config APM_EMULATIONbool "S3C64XX Power Management support"help Power
Time of Update: 2018-12-04
1、超級鍵(Win鍵) –開啟dash。2、長按超級鍵 –啟動Launcher。3、按住超級鍵,再按1,2,3等數字鍵 –從Launcher開啟一個應用程式,當你按住超級鍵時,每個應用程式圖示上都會顯示一個數字,按下對應的數字就會開啟蓋應用程式。4、Alt+F1 –將鍵盤焦點移到Launcher上,使用方向鍵進行移動,按斷行符號即可啟動一個應用程式,按下右方向鍵顯示Quicklist。5、Alt+F2 –以特殊模式開啟dash,以便運行任何命令。6、超級鍵+A
Time of Update: 2018-12-04
理清一下Bootloader NORFLASH NANDFlash EBOOT NBOOT UBOOT SDRAM NK.bin NK.nb0的關係一、在掌上型電腦裡要使用NAND FLASH儲存資料和程式,但是必須有NOR FLASH來啟動。除了SAMSUNG處理器,其他用在掌上型電腦的主流處理器還不支援直接由NAND FLASH啟動程式。因此,必須先用一片小的NOR FLASH啟動機器,再把OS等軟體從NAND
Time of Update: 2018-12-04
Android系統的檔案系統分區,包括recovery,boot,system,cache,userdata等(有的包括misc),每個裝置的分區順序及大小都是各自訂的,沒有固定標準。 本文讓我門來研究下,recovery和boot檔案系統的結構,這兩個分區的檔案系統可以通過fastboot flash recovery/boot xxxx.img來進行寫入分區。所以我們來看recovery.img和boot.img這兩個img檔案的結構和定義。
Time of Update: 2018-12-04
c++ 個類叫做fstream,該函數可以開啟一個檔案作為流。建立一個對象,然後調用該對象的open函數,主要有兩個參數,第一個參數是字串,表示檔案的地址,第二個參數是代開方式,如:fstream fin("a.txt",ios::in);if(fin){ cout<<"opened"<<endl; fin.close();}else{ cout<<"not
Time of Update: 2018-12-04
recovery我更喜歡把它描述為WinPe或者是安全模式,既是在系統出現問題的時候仍然可以開啟的一個模式,在裡面可以wipe(硬啟,又叫恢復出廠預設值),可以用升級包(就是我們說的rom,update.zip)。進入recovery的方式:BL版本不同進入recovery的方式不同73/74的,按相機鍵+開機鍵,進入三角符號介面78的,按字母“X”+開機鍵,進入三角符號介面;進去之後,再按音量增加鍵+照相鍵,進入一個藍色菜單,就是傳說中的recovery
Time of Update: 2018-12-04
有一個經典的C語言函數題目:void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ){ char *str = NULL; GetMemory( str ); strcpy( str, "hello world" ); printf( str );} 經過指標變數通過函數Getmemory後,還是null,並沒有分配記憶體,所以編譯運行會出錯,或者直接編譯報錯。 原因在於,函數參數傳遞的時候,
Time of Update: 2018-12-04
想要開機掛載NTFS分區,可以修可以修改 /etc/fstab的檔案,如果不清楚如何修改這個檔案,有個簡單的方法有個簡單的方法: 藉助ntfs配置小工具ntfs-config,其實這個工具也是修改這個檔案,只是程式自動完成。 首先運行命令安裝ntfs-config:#sudo apt-get install ntfs-config啟動程式:#sudo
Time of Update: 2018-12-04
安裝gnome和gtk+開發庫,使用命令:sudo apt-get install libgtk2.0-dev libgnome2-dev ,安裝之後,所有相關的標頭檔和靜態/動態庫檔案已經準備好了 eclipse開發: 安裝必須要的東西安裝JDK,使用命令:sudo apt-get install sun-java6-sdk安裝eclipse+CDT
Time of Update: 2018-12-04
eth0表示乙太網路的第一個連接埠,eth1表示乙太網路的第二個連接埠,以此類推。一般情況下,每台主機只有一個網卡,修改時直接使用eth0即可。當有多個網卡時(注意,有的主板帶有整合網卡),首先要確定要修改的網卡對應的是哪個連接埠。 臨時更改 所謂臨時更改,是指在重新啟動系統後就失效的短期更改方法,較簡單。 Linux網卡的物理地址設定是在網路設定時進行的。 首先確定你在使用root使用者。假設對eth0進行設定。 先網卡“關閉” # ifconfig eth0
Time of Update: 2018-12-04
最近在看一本《資料結構與c++程式設計》的時候看到一個程式段裡出現了enum,當時不知道什麼意思,在網上查資料。有網友給出的一下解釋。 枚舉類型,就是整型的一種延伸而已, 是自訂的一種資料類型。 如: #include <stdio.h> enum color {red,green,blue}; void main() { enum color c=red; printf("%d",c); } 則自訂的枚舉類型color有3個取值,即red,green,blue,其實就是整數0,1,
Time of Update: 2018-12-04
Table of Contents=================1 介紹yasnippet 2 安裝yasnippet 3 使用yasnippet 4 定製自己的模板 5 再以一個51外部中斷函數舉例 6 參考資源 1 介紹yasnippet
Time of Update: 2018-12-04
由於foxmail的地址簿格式和thunderbird的格式不一樣,另外也存在編碼問題,所以會導致把foxmail的地址簿匯入thunderbird時產生亂碼,解決方案如下:首先使用iconv轉碼 iconv -f gb2312 -t utf8 foxmail通訊錄.csv > thunderbird.csv 如果出現錯誤:illegal input sequence XXXX……之類,那就是地址簿裡面的字元編碼不全部都是gb2312的,嘗試使用更加寬的字元集gb1
Time of Update: 2018-12-04
將下面的代碼複製下來,儲存為xclm.c,在windows下用mingw編譯(推薦Code::Blocks的ide)產生xclm.exe,在linux下直接使用gcc -o xclm命令編譯,產生xclm,然後分別替換掉安裝目錄裡面的同名檔案即可/***************************************************************************** * * xclm.c - A replacement license server
Time of Update: 2018-12-04
E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/******剛開始以為是apt lists中的package沒有mysql-server,所以運行命令apt-get update更新list列表,但仍然報上述錯誤,提示是lists的某一個mirror網站的package入口檔案Could not be parsed or
Time of Update: 2018-12-04
PIC中的#pragma idata 和#pragma udata: idata表示已經初始化的資料。udata表示沒有初始化的資料。當一個資料區塊沒有足夠的空間用於存放一個連續的資料時(數組);此時便可用#pragma idata 或#pragma udata來定義一個新的存放資料區塊的地區。但是#pragma idata 或#pragma