perl을 통해서 binary data를 만들 때 주의할 점은 endian 문제이다.
perl에는 pack/unpack이라는 함수가 있는데 pack이라는 함수가
포스비 웹을 linux에서 돌리는 데 문제가 되었다. pack은 perl 에서
정의된 variable의 값을 file에 'write' 할수 있도록 바꿔준다.
포스비의 read action이 일어날 때 조회수를 읽어서 이것을
하나 증가시킨후에 다시 쓸 때에 어떤 conversion 방식을 사용하는가가
문제였다. 기존의 Sun 머신에서는 "S"를 사용했었는데 문제가 안 됐다.
그런데, intel 머신에서는 endian 문제로 말썽이다. "S"를 사용하면
아마도 big endian의 순서에 맞추어서 변환되는 것 같다. "V"를 사용하면
little endian 순서로 변환한다고 한다.
  
트랙백   |  댓글   |

fotowall :: ncloud RSS Feeds today : 0   yesterday : 0
total : 177,218