이것은 순수한 c에서 일반 벡터/목록 라이브러리를 만드는 기본 접근법입니다. 그러나 '순수한 C'가 내 파일 확장자와 모순된다는 것을 알았습니다. 그렇습니다. 문제가 있지만 컴파일러 상상 된 문제입니다.
GCC에는 이미 유형의 지정자가 있으므로 문제없이 *.c 파일을 빌드 할 수 있습니다.
MSVC 컴파일러에서 작동하지 않는 경우. MSVC에는 '유형'지정자가 없으며 구현이 유형 지정자에 따라 달라지고 decltype가 예상대로 작동하지 않습니다. 그래서 나는 static_cas <delctype (x)>를 솔루션으로 알아냅니다.
typedef struct
{
int 크기;
int 용량;
당신의 datatype * data;
} myDatavector;
벡터 데이터 구조를 작성해야합니다. 자체 정의 된 데이터 유형에서 모든 벡터 함수를 쉽게 사용할 수 있습니다.
예 : struct foo {..} typedef foo foo; // 여기서 vectormaker를 올바르게 실행하려면 구조물을 새로운 유형으로 정의해야합니다 ...
CVectorCreateType (foo, myfoovector);
myfoovector myVec = VectorCreate (myVec); 또는 myfoovector myVec; Vectorinit (myVec);
... 그 다음에
당신의 datatype 요소; / * 일부 프로세스 / vectorAppend (vec, element) / 일부 프로세스 * / vectorort (vec, yourdatatypecomparator);