原创 內存對齊.結構體對齊

gcc 中的"__attribute__ ((packed))"   __attrubte__ ((packed)) 的作用就是告訴編譯器取消結構在編譯過程中的優化對齊,按照實際佔用字節數進行對齊。 #define __u8  

原创 將32位代碼向64位平臺移植的注意事項

閱讀提示:隨着低成本64位平臺的來臨,加上內存和硬盤價格的不斷下跌,無疑爲32位程序向64位硬件的移植又加了一把勁,那些科學運算、數據庫、消耗大量內存或密集浮點運算的程序也搭上了這一順風車。在本文中,主要討論向64位平臺移植現有32位代

原创 linux GCC 64位編程技巧

 linux GCC 64位編程技巧 64位系統的優勢? 既然要採用64位系統,首先要知道64位系統的優勢所在。對於技術人員來說,完全沒有必要去看那些廠家拿出的厚厚的說明書、或者某個研究機構拋出的一堆的數字,64位系統的優勢總結起來很簡單

原创 UltraEdit使用技巧

UltraEdit-列編輯功能 快捷鍵:Ctrl+c---->選擇要刪除的列------>刪除 整列 即可 UltraEdit是能夠滿足你一切編輯需要的編輯器。UltraEdit是一套功能強大的文本編輯器,可以編輯文本、十六進制

原创 32位C/C++程序移植到64位系統時需要注意的問題

概述 從32位到64位,根本性的區別在於兩種數據類型發生了變化:long和pointer。在32位環境下,顧名思義,兩者長度都是32位,也就是4個字節;而在64位環境下,都是8個字節。所以,當你把pointer或者long型數據賦給in

原创 PowerPC彙編指令集

PowerPC 體系結構規範(PowerPC Architecture Specification)發佈於 1993 年,它是一個 64位規範 ( 也包含 32 位子集 )。幾乎所有常規可用的 PowerPC(除了新型號 IBM R

原创 vxWorks內核實現基本原理

from:http://blog.chinaunix.net/uid-26694208-id-3318477.html  內核實現基本原理     VxWorks 內核維護三個隊列:tick隊列、ready 隊列、active 隊列。另外

原创 一個簡單的Makefile教程

寫Makefile是一個非常便利的編譯方法,由於以前習慣把所有的代碼都集中在一個文件中,體現不出make的優勢,當把源代碼拆分成若干個源文件,Makefile就顯得必要了。以下是一份簡單的Makefile的教程,參考自A Simple

原创 編譯內核常見錯誤

from: http://blog.chinaunix.net/uid-22278460-id-1777662.html 今天搭建編譯環境的時候老是出錯,現把一些問題以及解決方法記錄下來。 make menuconfig錯誤: 運行到 H

原创 Linux進程間通信共享內存

進程可以直接讀寫內存,不需要任何數據的複製。爲了在多個進程間交換信息,內核專門留出一塊內存區,內存區可以由需要訪問的進程將其映射到自己的私有地址空間,進程直接讀寫這一內存區,而不需要進行數據的複製,提高了效率。由於多個進程共享內存,需要依

原创 VxWorks系統調度

1.   VxWorks任務調度 調度點即執行schedule()函數的時機,調度器會檢查各進程的運行狀態,以便確定是否需要進行進程切換。 1.1. VxWorks調度時機 VxWorks中任務調度的時機可分以下兩種情況: 1)同步任務切

原创 Linux查看硬件信息

在LINUX環境開發驅動程序,首先要探測到新硬件,接下來就是開發驅動程序。 常用命令整理如下: 用硬件檢測程序kudzu探測新硬件:service kudzu start ( or restart) 查看CPU信息:cat /pro

原创 ARM程序由於字節對齊引起的問題深入分析

 首先說說,什麼叫對齊。如果一個數據是從偶地址開始的連續存儲,那麼它就是半字對齊,否則就是非半字對齊;半字對齊的特徵是bit0=0,其他位爲任意值。字對齊的特徵是bit1=0,bit0=1,其他位爲任意值。如果一個數據是以能被4 整除的

原创 GDB使用小結

 列位安好。簡單總結下GDB調試器的使用。 準備   默認情況下,gcc/g++編譯的可執行文件是不包含調試信息的,GDB是一個源代碼級的調試器,使用GDB調試程序需要程序的源代碼、符號及其對應的行號等,其中符號和行號可以是單獨的文件,亦

原创 字符串常量放在靜態存儲區

char *c="chenxi"; 書上說: "chenxi"這個字符串被當作常量而且被放置在此程序的內存靜態區。 那一般的int i=1; 1也是常量,爲什麼1就不被放置在此程序的內存靜態區了呢? 請高手指點! 所有的字符竄常量都被放在