|
제가 지금 C++ 공부 중인데요. 얼마전 좋은 component 를 구해서(수학 Graph 관련) 간단한 그래프 작업중인데요
현재 C로 되어 있는 Source 를 이용하려고 합니다
typedef struct {
short a;
L_S b[22];
} TOTAL_S;
typedef struct {
L0_U L0;
L1_U L1;
L2_U L2;
L3_U L3;
} L_S;
typedef union {
L0_ B BITWISE;
L0_W WORDWISE;
} L0_U;
/* L1_U L2_U L3_U 는 L0와 똑같습니다 */
typedef struct {
unsigned int d :16;
} L0_B;
typedef struct {
unsigned short f;
} L0_W;
이런 struct 구문이 C 파일에서 선언이 되어 있는데 C 쪽에서 찍어보면 &b.L0 와 &b.L1 의 address 가 4차이납니다
2차이가 나야 되지 않나요?
이러한 struct 형태의 point 형태의index 를 포함하는 C 함수를 C++ 에서 호출하는데 2씩 증가하지 않아 넘 힘듭니다
C 파일을 C++ 파일로 바꾸면 가볍게 해결되겠지만 C로 된 파일을 변경하면 지금 만드는 간단한 program의 의미가
없어 져서요
고수님의 의견 기다립니다
감사합니다
|