關於sizeof(特別注意指標的情況)

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

藉助U-boot進行一些記憶體位址的再次研究(二維數組及指標數組)

轉自: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",

關於宏的正確用法和錯誤用法

來源於microchip資深工程師的網路研討會     關於C的預先處理和它對宏定義的預先處理,我們來看一些宏的正確和錯誤的拓展,以及怎樣拓展他們,所有的規範都是建立在ANSI C編譯器基礎上的。1.    簡單的宏處理:     #define  name  “replacement text”     樣本用法:     #define START  20        foobar = START;“replacement text”可以被其他的宏定義展開例如:          

零長度數組(柔性數組)的用法

   在前面的文章中的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; */

6410 休眠喚醒實現小結

 前一段時間調試了6410的休眠和喚醒,一直沒有時間自己總結一下,下面把具體的實現貼出來,供大家參考,又不對的地方,請幫忙糾正,謝謝。1,在/driver/char中修改Makefile,添加以下語句:obj-$(CONFIG_APM_EMULATION)+= apm-emulation.o2,在/driver/char中修改Kconfig,添加以下語句:config APM_EMULATIONbool "S3C64XX Power Management support"help Power

Ubuntu 11.04 Unity的快速鍵

1、超級鍵(Win鍵) –開啟dash。2、長按超級鍵 –啟動Launcher。3、按住超級鍵,再按1,2,3等數字鍵 –從Launcher開啟一個應用程式,當你按住超級鍵時,每個應用程式圖示上都會顯示一個數字,按下對應的數字就會開啟蓋應用程式。4、Alt+F1 –將鍵盤焦點移到Launcher上,使用方向鍵進行移動,按斷行符號即可啟動一個應用程式,按下右方向鍵顯示Quicklist。5、Alt+F2 –以特殊模式開啟dash,以便運行任何命令。6、超級鍵+A

Bootloader NORFLASH NANDFlash EBOOT NBOOT UBOOT SDRAM NK.bin N…

 理清一下Bootloader NORFLASH NANDFlash EBOOT NBOOT UBOOT SDRAM NK.bin NK.nb0的關係一、在掌上型電腦裡要使用NAND FLASH儲存資料和程式,但是必須有NOR FLASH來啟動。除了SAMSUNG處理器,其他用在掌上型電腦的主流處理器還不支援直接由NAND FLASH啟動程式。因此,必須先用一片小的NOR FLASH啟動機器,再把OS等軟體從NAND

boot.img和recovery.img的結構分析

   Android系統的檔案系統分區,包括recovery,boot,system,cache,userdata等(有的包括misc),每個裝置的分區順序及大小都是各自訂的,沒有固定標準。   本文讓我門來研究下,recovery和boot檔案系統的結構,這兩個分區的檔案系統可以通過fastboot flash  recovery/boot  xxxx.img來進行寫入分區。所以我們來看recovery.img和boot.img這兩個img檔案的結構和定義。 

fstream,ifstream,ofstream

c++ 個類叫做fstream,該函數可以開啟一個檔案作為流。建立一個對象,然後調用該對象的open函數,主要有兩個參數,第一個參數是字串,表示檔案的地址,第二個參數是代開方式,如:fstream fin("a.txt",ios::in);if(fin){       cout<<"opened"<<endl;       fin.close();}else{       cout<<"not

Openrecovery和Moto手機的recovery

     recovery我更喜歡把它描述為WinPe或者是安全模式,既是在系統出現問題的時候仍然可以開啟的一個模式,在裡面可以wipe(硬啟,又叫恢復出廠預設值),可以用升級包(就是我們說的rom,update.zip)。進入recovery的方式:BL版本不同進入recovery的方式不同73/74的,按相機鍵+開機鍵,進入三角符號介面78的,按字母“X”+開機鍵,進入三角符號介面;進去之後,再按音量增加鍵+照相鍵,進入一個藍色菜單,就是傳說中的recovery      

指標做函數形參分析

    有一個經典的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,並沒有分配記憶體,所以編譯運行會出錯,或者直接編譯報錯。   原因在於,函數參數傳遞的時候,

Ubuntu開機掛在NTFS分區

想要開機掛載NTFS分區,可以修可以修改 /etc/fstab的檔案,如果不清楚如何修改這個檔案,有個簡單的方法有個簡單的方法:  藉助ntfs配置小工具ntfs-config,其實這個工具也是修改這個檔案,只是程式自動完成。 首先運行命令安裝ntfs-config:#sudo apt-get install ntfs-config啟動程式:#sudo

Ubuntu下GTK+開發環境設定

  安裝gnome和gtk+開發庫,使用命令:sudo apt-get install libgtk2.0-dev libgnome2-dev ,安裝之後,所有相關的標頭檔和靜態/動態庫檔案已經準備好了  eclipse開發:   安裝必須要的東西安裝JDK,使用命令:sudo apt-get install sun-java6-sdk安裝eclipse+CDT

修改網卡物理地址

       eth0表示乙太網路的第一個連接埠,eth1表示乙太網路的第二個連接埠,以此類推。一般情況下,每台主機只有一個網卡,修改時直接使用eth0即可。當有多個網卡時(注意,有的主板帶有整合網卡),首先要確定要修改的網卡對應的是哪個連接埠。 臨時更改  所謂臨時更改,是指在重新啟動系統後就失效的短期更改方法,較簡單。  Linux網卡的物理地址設定是在網路設定時進行的。  首先確定你在使用root使用者。假設對eth0進行設定。  先網卡“關閉”  # ifconfig eth0

enum(枚舉類型)

最近在看一本《資料結構與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,

Emacs高效的yasnippet 簡單使用和定製

Table of Contents=================1 介紹yasnippet 2 安裝yasnippet 3 使用yasnippet 4 定製自己的模板 5 再以一個51外部中斷函數舉例 6 參考資源 1 介紹yasnippet

foxmail地址簿匯入thunderbird的亂碼問題

   由於foxmail的地址簿格式和thunderbird的格式不一樣,另外也存在編碼問題,所以會導致把foxmail的地址簿匯入thunderbird時產生亂碼,解決方案如下:首先使用iconv轉碼     iconv -f gb2312 -t utf8 foxmail通訊錄.csv > thunderbird.csv     如果出現錯誤:illegal input sequence  XXXX……之類,那就是地址簿裡面的字元編碼不全部都是gb2312的,嘗試使用更加寬的字元集gb1

Microchip編譯器XC系列的破解

     將下面的代碼複製下來,儲存為xclm.c,在windows下用mingw編譯(推薦Code::Blocks的ide)產生xclm.exe,在linux下直接使用gcc -o xclm命令編譯,產生xclm,然後分別替換掉安裝目錄裡面的同名檔案即可/***************************************************************************** * * xclm.c - A replacement license server

apt-get出現E:Encountered a section with no Package: header, ……的解決方案

  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

PIC中的#pragma idata 和#pragma udata

  PIC中的#pragma idata 和#pragma udata: idata表示已經初始化的資料。udata表示沒有初始化的資料。當一個資料區塊沒有足夠的空間用於存放一個連續的資料時(數組);此時便可用#pragma idata 或#pragma udata來定義一個新的存放資料區塊的地區。但是#pragma idata 或#pragma

總頁數: 61357 1 .... 24535 24536 24537 24538 24539 .... 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.