计算机工程与应用
計算機工程與應用
계산궤공정여응용
COMPUTER ENGINEERING AND APPLICATIONS
2003年
30期
126-127,152
,共3页
跨平台软件%高字节在低地址%低字节在低地址%数据对齐%编译器改变对齐%类型强制错误%位段访问数据流
跨平檯軟件%高字節在低地阯%低字節在低地阯%數據對齊%編譯器改變對齊%類型彊製錯誤%位段訪問數據流
과평태연건%고자절재저지지%저자절재저지지%수거대제%편역기개변대제%류형강제착오%위단방문수거류
目前系统开发平台比较主流的是intel平台,sun平台和IBM平台.在编写系统或服务器程序中对变量的某些字节或某些位进行操作是非常频繁的,而各种平台上变量在内存中的存储机制又各不相同,使得取出特定字节或位比较麻烦,需要仔细分析特定平台的存储机制才能得出正确的结果.当应用程序移植到不同平台时字节对齐(alignment)问题经常出现,稍有差错就有可能导致bus error等内存错误.该文透彻地说明了在intel平台,sun平台和IBM平台上数据及数据流的存储机制,以及如何避免出现类型强制错误.理解各种数据存储机制后在编写系统或服务器程序时存取数据流,不仅使编写跨平台程序变得容易,而且使操纵变量时出现的错误大大降低.文中所有示例程序均用C语言编写并在sun sparc工作站gcc编译器和Intel Pentium台式机VC6.0编译器下通过测试.
目前繫統開髮平檯比較主流的是intel平檯,sun平檯和IBM平檯.在編寫繫統或服務器程序中對變量的某些字節或某些位進行操作是非常頻繁的,而各種平檯上變量在內存中的存儲機製又各不相同,使得取齣特定字節或位比較痳煩,需要仔細分析特定平檯的存儲機製纔能得齣正確的結果.噹應用程序移植到不同平檯時字節對齊(alignment)問題經常齣現,稍有差錯就有可能導緻bus error等內存錯誤.該文透徹地說明瞭在intel平檯,sun平檯和IBM平檯上數據及數據流的存儲機製,以及如何避免齣現類型彊製錯誤.理解各種數據存儲機製後在編寫繫統或服務器程序時存取數據流,不僅使編寫跨平檯程序變得容易,而且使操縱變量時齣現的錯誤大大降低.文中所有示例程序均用C語言編寫併在sun sparc工作站gcc編譯器和Intel Pentium檯式機VC6.0編譯器下通過測試.
목전계통개발평태비교주류적시intel평태,sun평태화IBM평태.재편사계통혹복무기정서중대변량적모사자절혹모사위진행조작시비상빈번적,이각충평태상변량재내존중적존저궤제우각불상동,사득취출특정자절혹위비교마번,수요자세분석특정평태적존저궤제재능득출정학적결과.당응용정서이식도불동평태시자절대제(alignment)문제경상출현,초유차착취유가능도치bus error등내존착오.해문투철지설명료재intel평태,sun평태화IBM평태상수거급수거류적존저궤제,이급여하피면출현류형강제착오.리해각충수거존저궤제후재편사계통혹복무기정서시존취수거류,불부사편사과평태정서변득용역,이차사조종변량시출현적착오대대강저.문중소유시례정서균용C어언편사병재sun sparc공작참gcc편역기화Intel Pentium태식궤VC6.0편역기하통과측시.