вопрос по mikroc

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
ds3ds3
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср ноя 21, 2012 02:55:37

вопрос по mikroc

Сообщение ds3ds3 »

Здравствуйте! Подскажите, что нужно сделать чтобы использовать несколько исходников. Версия pro for pic 4.60 без лимита. Если добавить второй исходник (через меню проект - добавить новый файл), то его содержимое нельзя использовать в первом. А хотелось бы во второй сваливать все написанные функции, объявленные переменные, константы, дефайны, чтобы не мешались в основном исходнике. Заранее спасибо!
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: вопрос по mikroc

Сообщение ARV »

ds3ds3 писал(а):А хотелось бы во второй сваливать все написанные функции, объявленные переменные, константы, дефайны, чтобы не мешались в основном исходнике.
я не знаю нюансов вашего mikroc, но желание ваше до добра не доведет. может быть, вы разберетесь все-таки, как правильно проект создать?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

ds3ds3, во первых создай свой проект, не надо пихать в тестовый, во вторых если нужные функции в другом файле просто инклудишь этот фаил.
ds3ds3
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср ноя 21, 2012 02:55:37

Re: вопрос по mikroc

Сообщение ds3ds3 »

ARV писал(а):
ds3ds3 писал(а):А хотелось бы во второй сваливать все написанные функции, объявленные переменные, константы, дефайны, чтобы не мешались в основном исходнике.
я не знаю нюансов вашего mikroc, но желание ваше до добра не доведет. может быть, вы разберетесь все-таки, как правильно проект создать?
А я всегда думал, что функции должны быть в отдельном исходнике, а в основном - их вызовы, дабы избежать каши и постоянной прокрутки вверх-вниз. Ну да ладно, допустим все программы пишут километровой простыней в один исходник. Вопрос звучит так: как правильно подключить второй исходник, чтобы он работал?
Дальше: я не использую тестовый проект; а инклуд вызывает ошибку, т.к.:
В хелпе написано что инклуд используется для заголовочных файлов (.h). А для файлов проекта (.с) нужно использовать меню проект - добавить файл к проекту. Я так сделал - не работает. Может у того кто работал в микрос это получилось? К ним я и обращаюсь. Заранее спасибо.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: вопрос по mikroc

Сообщение ARV »

я думаю, ваш компилятор все-таки соответствует общепринятым правилам создания и работы с проектами, поэтому выскажу свое мнение, как следует поступать.

во-первых, файлы *.h - это заголовочные файлы, в них перечисляются только описания (т.е. прототипы) функций соответствующего исходника, а так же необходимые константы, макросы и, иногда, переменные.
во-вторых, проект состоит обычно из простого перечисления файлов с исходными текстами, т.е. *.c. заголовочные файлы в состав проекта не включаются, т.к. сами по себе без исходников не представляют для компилятора ничего интересного, а используются благодаря директивам include в исходниках.
в-третьих, чтобы вам могли помочь, надо давать больше информации: скриншоты, копии сообщений об ошибках, сами исходники и т.п., ибо гадать, что именно вы делаете не так, как надо, никому не интересно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

Два исходника в один проект запихать не получиться void main() должен быть один на весть проект, в подключаемом файле могут находиться описание переменных, констант функций и сами функции, чтобы не писать всё это в основное тело программы. Я предпочитаю выносить все описания в фаил а сами функции под тело main. По поводу расширения подключаемых файлов - не важно какое оно будет, главное чтобы название файла и расширение совпадали например фаил funkcii.txt подключаем его #include "funkcii.txt" компилирует без вопросов если нет ошибок в синтаксисе.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: вопрос по mikroc

Сообщение ARV »

alex_ писал(а):По поводу расширения подключаемых файлов - не важно какое оно будет
не важно для компилятора, но важно для программиста. не надо делать так, как не надо делать.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

Товарищ спрашивал о том что не компилирует потому что не то расширение, вот я и ответил что компилятору всё равно, лишь бы имена совпадали, остальное дело этики, хотя по старике используют Н расширение, но по сути можно написать любое
ds3ds3
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср ноя 21, 2012 02:55:37

Re: вопрос по mikroc

Сообщение ds3ds3 »

Я не говорил что нужно определенное расширение, я сказал что в микрос #include используется не для исходников:
http://download.mikroe.com/documents/co ... lusion.htm
там же есть ссылка "Add/Remove Files from Project" - есть скриншоты:
http://download.mikroe.com/documents/co ... om_project
Здесь показано как именно нужно добавлять файлы:
http://download.mikroe.com/documents/co ... om_project
Ежели я:
1) в одном файле пишу функцию мейн() - компилируется;
2) добавляю второй файл в проект, пишу в нём функцию test() - компилируется, но в ассемблер не добавляется, т.к. не используется;
3) main() { test() } - ошибка 131 324 Undeclared identifier 'test' in expression.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: вопрос по mikroc

Сообщение ARV »

ds3ds3 писал(а):3) main() { test() } - ошибка 131 324 Undeclared identifier 'test' in expression.
см. ранее написанное мною:
ARV писал(а):файлы *.h - это заголовочные файлы, в них перечисляются только описания (т.е. прототипы) функций соответствующего исходника
вы должны:
1. для "второго исходника" с функцией test создать соответствующий заголовочный файл, например, test.h
2. в этом заголовочнике вы должны описать прототип своей функции test()
3. создать проект, куда добавить оба исходника (это уже вы сделали)
4. в "первом" исходнике (с main()) в начале приинкюдить заголовочник test.h - так вы подскажете компилятору, что при компиляции первого исходника функцию test следует искать во втором исходнике.

все, что я описал - азы языка Си. пожалуйста, ознакомьтесь с ними!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
ds3ds3
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Ср ноя 21, 2012 02:55:37

Re: вопрос по mikroc

Сообщение ds3ds3 »

ARV спасибо за помощь. Этот вопрос исчерпан.
Вот эта страничка из хелпа меня смутила, тут 3 си файла, каким же образом используются 2 неосновных?
Изображение
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

А ты не пробовал открывать эти файлы?, когда откроешь сразу многое станет понятно :)
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: вопрос по mikroc

Сообщение ARV »

ds3ds3 писал(а):3 си файла, каким же образом используются 2 неосновных?
и снова вынужден повторить
ARV писал(а):все, что я описал - азы языка Си. пожалуйста, ознакомьтесь с ними!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

Вот краткое содержание файла mikroe_bmp.c

Код: Выделить всё

unsigned char const mikroE_240x64_bmp[1920] = {
 255,255,255,255,255,255,255,255,
...............
   6, 31,  7,134, 24, 33,252, 15,
...............
 255,255,255,255,255,255,255,255
};
Хотя по названию можно было догадаться :tea:
Другой фаил аналогичен этому.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: вопрос по mikroc

Сообщение dosikus »

alex_, вам надо что то менять в своих заблуждениях. Наверное все таки заняться изучением языка.
В хэдерах не может быть сущностей ...
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

dosikus, я не совсем понял ход вашей мысли :dont_know:
По поводу приведённого примера в предыдущем сообщении, это не моя фантазия, всё взято из папки примеров mikroC.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: вопрос по mikroc

Сообщение dosikus »

Я не о примере. Речь о вашем , что хэдеры могут содержать переменные и тело функций.
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

Ну и почему в хэдере не описать переменные(массивы, структуры), особенно их дофига?, вообще то это удобно, а компилятору это пофигу он всё равно прочитает по порядку, и сделает усё как надо.
К тому же большого размера константы(рисунки для граф LCD) никто в основной фаил не пихает, листать устанешь.
А по поводу тела функции в хэдере, а почему бы нет, такие вещь называются собственными либами, многие пишут.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: вопрос по mikroc

Сообщение dosikus »

У вас совершенно неверное представление о структуре проекта...
Аватара пользователя
alex_
Опытный кот
Сообщения: 781
Зарегистрирован: Сб июн 01, 2013 22:24:21
Откуда: ПФО

Re: вопрос по mikroc

Сообщение alex_ »

Каждый может сказать, что у тебя не правильно, а где аргументы, с примерами?
Ответить

Вернуться в «Разные вопросы по МК»