不知道現在新的雙核心處理器,對於過去在power PC UNIX上,有沒有不適應的現象
小弟常用的就是fortran&C&C++&C#等等的編譯器
因為都是應用在氣象預報作業上,所以還在評估,不知道我需要的東西,是否在雙核心處理器上會不會有問題????
UNIX on MACBOOK PRO.....
版主: Alex Tsai、ross_tt、bryanchang、digdog
UNIX on MACBOOK PRO.....
Safina Fan
Mail:safina388@gmail.com
Department Military of Meteorology「D.M.M.」
Mail:safina388@gmail.com
Department Military of Meteorology「D.M.M.」
作業系統歸作業系統,硬體歸硬體,這是兩碼子事吧...
換了硬體,curl 的參數還是一樣都是那些...
像之前大家告訴你的一些 UNIX 操作,那都是通用的做法,不是在特定平台上的特例。
應用程式的部份,GNU 的程式重新編輯就可以了。
不過要是貴單位自行開發的程式,可能就...
不是說貴單位程式功力如何,而是這次的硬體變更會牽涉到 Endian 問題。
所謂 Endian,是指 CPU 內部解析資料的方式。
PowerPC 是 Big Endian 的機器,資料的排列是 MSB 優先,
而 Intel 則是 Little Endian,資料的排列是 LSB 優先。
舉個例子,0x01020304 這個 32 bits 的『數字』,
在 PowerPC 上的排列方式是 01,02,03,04,
在 Intel 上的排列方式則是 04,03,02,01。
這會造成什麼影響?主要是兩個:
1. 處理串流資料,例如 RS232、Socket 等資料的處理。
2. 自定資料格式的檔案。如果直接儲存 Binary 資料,在 PPC 上存的資料可能在 Intel 上讀出來都是反的。
另外,還有所謂 Structure Data Alignment 的問題。
也就是同一個 Structure 在不同的平台上內容排列方式與大小會不同。
所以在開發程式的時候,如果沒有考慮到以後 Porting 的問題,就會比較累。
換了硬體,curl 的參數還是一樣都是那些...
像之前大家告訴你的一些 UNIX 操作,那都是通用的做法,不是在特定平台上的特例。
應用程式的部份,GNU 的程式重新編輯就可以了。
不過要是貴單位自行開發的程式,可能就...
不是說貴單位程式功力如何,而是這次的硬體變更會牽涉到 Endian 問題。
所謂 Endian,是指 CPU 內部解析資料的方式。
PowerPC 是 Big Endian 的機器,資料的排列是 MSB 優先,
而 Intel 則是 Little Endian,資料的排列是 LSB 優先。
舉個例子,0x01020304 這個 32 bits 的『數字』,
在 PowerPC 上的排列方式是 01,02,03,04,
在 Intel 上的排列方式則是 04,03,02,01。
這會造成什麼影響?主要是兩個:
1. 處理串流資料,例如 RS232、Socket 等資料的處理。
2. 自定資料格式的檔案。如果直接儲存 Binary 資料,在 PPC 上存的資料可能在 Intel 上讀出來都是反的。
另外,還有所謂 Structure Data Alignment 的問題。
也就是同一個 Structure 在不同的平台上內容排列方式與大小會不同。
所以在開發程式的時候,如果沒有考慮到以後 Porting 的問題,就會比較累。
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.
- Genius Shen
- 留言破百
- 文章: 181
- 註冊時間: 04/29/2001 1:01 am
- 來自: Taipei, Taiwan
- 聯繫:
如果應用程式的輸入與輸出都是操作的人,那幾乎是不會碰到 endian 問題。以 ascii 資料為主的程式也不會碰到這種問題。但是如果要存取檔案那就會有問題了。除非你全用 human readable 格式存,然後再用 sscanf 自己解析,不然就是用 xml 來搞。
說起來也是有點悲哀。在下公司裡面的小朋友們(其實也不過差三四歲)跟他們講 Endian 還多少有聽過,可是講到 data alignment,structure data alignment,volatile 這些,全都霧颯颯。上次碰到 TI MSP430 這種 16 bits alignment 的 MCU,就被整得很慘。不曉得是哪個天兵發明說所有的欄位全部用 memcpy 來存取,在下幫忙除錯的時候看到,又好氣又好笑。把他們飆了一頓,乖乖的回去改成 data structure。
最近在下公司的行政處正在弄碩士級學程活動,列了一堆諸如『Java ME』『JSP』『TCP/IP 程式設計』之類的補習班課程。他們要在下提建議,在下就把他們列的課程通通劃掉,加上『高等計算機結構』、『資料結構與演算法』、『電腦網路與數位通訊原理』。不過他們大概也不會照辦...這些課恐怕老師都很難請。
說起來也是有點悲哀。在下公司裡面的小朋友們(其實也不過差三四歲)跟他們講 Endian 還多少有聽過,可是講到 data alignment,structure data alignment,volatile 這些,全都霧颯颯。上次碰到 TI MSP430 這種 16 bits alignment 的 MCU,就被整得很慘。不曉得是哪個天兵發明說所有的欄位全部用 memcpy 來存取,在下幫忙除錯的時候看到,又好氣又好笑。把他們飆了一頓,乖乖的回去改成 data structure。
最近在下公司的行政處正在弄碩士級學程活動,列了一堆諸如『Java ME』『JSP』『TCP/IP 程式設計』之類的補習班課程。他們要在下提建議,在下就把他們列的課程通通劃掉,加上『高等計算機結構』、『資料結構與演算法』、『電腦網路與數位通訊原理』。不過他們大概也不會照辦...這些課恐怕老師都很難請。
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.
啊?全部用 memcpy 來存取??該不會其他 mem**** 系列函式也通通拿來用吧?
我剛剛去翻了一下我手上的 Turbo C++ Bible(天啊,竟然超過 15 年了),即使是當年我在寫 AP 跟 Driver 的時候 (Voice/Fax Card 是由另一位同事負責),我也從來沒用過 mem 系列函式.... 這種直接操作底層記憶體的函式,使用不當搞不好會毀損OS,如果要拼速度?還不如直接用 Turbo Assembly 寫好,再從 C++ 呼叫...
我猜想這種小朋友該不會連 C++ 裡面的【class 跟成員函式】一個也沒用?
嘿嘿嘿... 大師要他們回頭去上這些基礎課程可能會要了他們的命,還不如去搞 Cisco 等認證課程... Title 好聽又好用...
我剛剛去翻了一下我手上的 Turbo C++ Bible(天啊,竟然超過 15 年了),即使是當年我在寫 AP 跟 Driver 的時候 (Voice/Fax Card 是由另一位同事負責),我也從來沒用過 mem 系列函式.... 這種直接操作底層記憶體的函式,使用不當搞不好會毀損OS,如果要拼速度?還不如直接用 Turbo Assembly 寫好,再從 C++ 呼叫...
我猜想這種小朋友該不會連 C++ 裡面的【class 跟成員函式】一個也沒用?
嘿嘿嘿... 大師要他們回頭去上這些基礎課程可能會要了他們的命,還不如去搞 Cisco 等認證課程... Title 好聽又好用...
在下是弄 Embedded System 低~ 
連 OS 都沒有,所以也不用擔心會損毀 OS 啦
在 Embedded System 上用 C++...
除非是用 ARM7 啦...
目前正在哀求各大 Chip vender 弄個 ARM 版本的板子來給我們玩玩 ...
實在受夠了這些只有 64k code + 4k ram 的吉娃娃...
CISCO 認證?那是啥?可以吃嗎?
在下之前鬼迷心竅也去弄了張 CCNA,
卻還是搞不清楚他到底有啥作用...
還好只花了買參考書的錢,沒上當花大錢當凱子去上啥牢什子課。
連 OS 都沒有,所以也不用擔心會損毀 OS 啦
在 Embedded System 上用 C++...
除非是用 ARM7 啦...
目前正在哀求各大 Chip vender 弄個 ARM 版本的板子來給我們玩玩 ...
實在受夠了這些只有 64k code + 4k ram 的吉娃娃...
CISCO 認證?那是啥?可以吃嗎?
在下之前鬼迷心竅也去弄了張 CCNA,
卻還是搞不清楚他到底有啥作用...
還好只花了買參考書的錢,沒上當花大錢當凱子去上啥牢什子課。
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.
ash nazg thrakatuluk agh burzum-ishi krimpatul.