Отговори на тема  [ 20 мнения ]  Отиди на страница Предишна  1, 2
Работа с битове в C30 за PIC24 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение 
Егати, не знам какво направих, ама взе че стана. :oops:
След това да не знам защо нещо не работи най-много мразя да не знам защо работи. Чувствам се несигурен някак си.

_________________
Хайде де!


Пет Сеп 24, 2010 12:10 pm
Профил
Ранг: Почетен член
Ранг: Почетен член

Регистриран на: Съб Окт 30, 2004 11:19 pm
Мнения: 609
Мнение 
използвай
Код:
#ifndef header_name_h
#define header_name_h
...
//content of .h file
..
#endif


Пет Сеп 24, 2010 12:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Юни 01, 2008 9:54 pm
Мнения: 1503
Местоположение: Пловдив
Мнение 
1) променлива в .h не се дефинира, в такъв описваш какво представлява типът й - т.е. онова typedef или файла който ти закачих отгоре. нещо като
Код:
(файла е да кажем GenericTypeDefs.h)
typedef .... bitvar .... ;


2) променлива от тип bitvar се дефинира само в .c файл, както и всички променливи изобщо. нещо като

Код:
(файла е примено vars.c)

#include "GenericTypeDefs.h" //

bitvar my_flags = 10; // и каквото ти трябва, ако искаш и да му дадеш начална стойност


До тук всичко е ок.
като решиш да ползваш променливата някъде в друг .c файл правиш:

Код:
(файла е примерно work.c)
#include "GenericTypeDefs.h" // за да си познае типът дето си го дефинирал

extern bitvar my_flags; //сега ще види my_flagss с предефинирания тип, но тука не си позволяваш да му даваш начална стойност, той си я знае от vars.c


Пет Сеп 24, 2010 12:45 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3714
Местоположение: Високо в планината
Мнение 
Не става като махна декларациите от .h файла и оставя само типовете.
Как да укажа, че самите променливи са записани в .c файла? Не става ли автоматично, щом и .h. и .c файла са с еднакви имена?

_________________
Хайде де!


Пет Сеп 24, 2010 8:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
dan написа:
Не става като махна декларациите от .h файла и оставя само типовете.
Как да укажа, че самите променливи са записани в .c файла? Не става ли автоматично, щом и .h. и .c файла са с еднакви имена?



Не става автоматично :-)

бтв, добре е да правиш разлика между декларация и дефиниция.

Един обект може да го декларираш многократно (стига да не променяш декларацията). На практика трябва да го декларираш във всеки файл в който го ползваш, точно заради това декларациите се изнасят в хедър файл, иначе ще имаш тафталогия...
Дефиницията на обекта, обаче трябва да е само една, т.е. в един единствен файл.


Пет Сеп 24, 2010 9:23 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 20 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни