|
라이브러리 함수의 인자로 구조체를 넘겨주는데..
이 구조체에 새로운 파라미터를 추가하고자 합니다...
새로운 파라미터가 구조체에 추가될 일이 생길 경우를 대비하여 구조체를 다음과 같이 정의하였습니다..
예를 들면
type struct{
int hour;
int minute;
int second;
char Reserved[100]; // 100 byte 여분.
} Time;
void SetTime(Time *ptime); /// 라이브러리 함수
이렇게 정의되어 있는 구조체를 사용하다가 여기에 새로운 변수를 추가하려고 할 때 어떻게 해야될지 좋은 방법 없을까요? 예를 들면 month, date, week를 추가한다면..
type struct{
int hour;
int minute;
int second;
int month;
int date;
int week;
char Reserved[88]; // 88byte 여분.
} Time;
일반 application 프로그램을 짜면 구조체에 파라미터를 그냥 추가하면 되지만
라이브러리 프로그램을 개발하고 있는데...이 파라미터 값들은 다른 곳에서 네트워크를 통해서 라이브러리가 데이터를 받아옵니다.. 이 추가된 파라미터 값들은 항상 값을 읽어올 수 있는 것이 아니라 어디서 값을 읽어오느냐 따라서 값이 존재할 수도 있고 없을 수도 있습니다..
이 점(값이 존재하는지 아닌지)은 라이브러리는 알 수 있지만 위와 같은 형태로 한다면 application에서는 그 값이 쓰레기 값인지 아니면 실제 값인지 알수가 없습니다.. 이런 호환성을 생각해서 구조체을 만들 수 있는 방법이 없을까요?
좋은 방법 있으면 부탁드립니다..
|