こんなことができます。

 typedef float FVECTOR[4]; /* ps2でもこんなかんじ */
 typedef struct {
      float x;
      float y;
      float z;
 } fvec __attribute__((packed)); /* structのサイズが最小になる */
                                                                                 
 inline void print_vec(fvec *v) {
      printf("fvec has\nx:%f\ny:%f\nz:%f\n", v->x,v->y,v->z);
 }
 int main(){
      FVECTOR pos={1,2,3,1};
      fvec* vecpos = (fvec *)&pos; /* キャストしてみる */
      print_vec((fvec*)pos);
      vecpos->x=10.0;
      print_vec((fvec*)pos);
 }

危ない匂いはしますが。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-03-10 (土) 18:37:41 (2827d)