Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создание структуры в VDSP c глобальным доступом
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Andrew32768
Что-то не могу никак разобраться, как в VDSP, в CPP файле создать структуру, а потом в H файле сделать её extern.

например в CPP:


typedef struct FFF
{ char a ;
char b ;
} ;
FFF ggg ;

а как будет выглядеть H файл?:
extern FFF ggg ;

не срабатывает...[size=1]
fontp
Цитата(Andrew32768 @ Feb 19 2008, 16:32) *
Что-то не могу никак разобраться, как в VDSP, в CPP файле создать структуру, а потом в H файле сделать её extern.

например в CPP:
typedef struct FFF
{ char a ;
char b ;
} ;
FFF ggg ;

а как будет выглядеть H файл?:
extern FFF ggg ;

не срабатывает...[size=1]


Так Вы тип не объявили, а таг не считается.
Лучше написать

typedef struct FFF_tag
{ char a ;
char b ;
} FFF;

extern FFF ggg;

FFF ggg ;
Ghost2
А зачем typedef? Можно просто

/** foo.h
*/
struct foo
{
int i;
};

extern foo foo_var;

/** foo.cpp
*/
#include <foo.h>

foo foo_var;
Andrew32768
Спасибо всем.
Сам разобрался.
оказывается очень выжно, чтобы "разграничить" в начале каждого файла H писать:
#ifndef _SAMPLE_H
#define _SAMPLE_H

и конце
#endif
fontp
Цитата(Andrew32768 @ Feb 20 2008, 14:24) *
Спасибо всем.
Сам разобрался.
оказывается очень выжно, чтобы "разграничить" в начале каждого файла H писать:
#ifndef _SAMPLE_H
#define _SAMPLE_H

и конце
#endif


Это всегда было важно, не только для VDSP++. Об этом не принято говорить, но дефективность языка C в отношении интерфейсов (интерфейсы безконтрольно возложены на файловую систему, т.е на неязыковые средства) приводит к самым разным чудесам при многократном включении файлов .h для любых компиляторов
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.