вопрос по mikroc
вопрос по mikroc
Здравствуйте! Подскажите, что нужно сделать чтобы использовать несколько исходников. Версия pro for pic 4.60 без лимита. Если добавить второй исходник (через меню проект - добавить новый файл), то его содержимое нельзя использовать в первом. А хотелось бы во второй сваливать все написанные функции, объявленные переменные, константы, дефайны, чтобы не мешались в основном исходнике. Заранее спасибо!
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: вопрос по mikroc
я не знаю нюансов вашего mikroc, но желание ваше до добра не доведет. может быть, вы разберетесь все-таки, как правильно проект создать?ds3ds3 писал(а):А хотелось бы во второй сваливать все написанные функции, объявленные переменные, константы, дефайны, чтобы не мешались в основном исходнике.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: вопрос по mikroc
ds3ds3, во первых создай свой проект, не надо пихать в тестовый, во вторых если нужные функции в другом файле просто инклудишь этот фаил.
Re: вопрос по mikroc
А я всегда думал, что функции должны быть в отдельном исходнике, а в основном - их вызовы, дабы избежать каши и постоянной прокрутки вверх-вниз. Ну да ладно, допустим все программы пишут километровой простыней в один исходник. Вопрос звучит так: как правильно подключить второй исходник, чтобы он работал?ARV писал(а):я не знаю нюансов вашего mikroc, но желание ваше до добра не доведет. может быть, вы разберетесь все-таки, как правильно проект создать?ds3ds3 писал(а):А хотелось бы во второй сваливать все написанные функции, объявленные переменные, константы, дефайны, чтобы не мешались в основном исходнике.
Дальше: я не использую тестовый проект; а инклуд вызывает ошибку, т.к.:
В хелпе написано что инклуд используется для заголовочных файлов (.h). А для файлов проекта (.с) нужно использовать меню проект - добавить файл к проекту. Я так сделал - не работает. Может у того кто работал в микрос это получилось? К ним я и обращаюсь. Заранее спасибо.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: вопрос по mikroc
я думаю, ваш компилятор все-таки соответствует общепринятым правилам создания и работы с проектами, поэтому выскажу свое мнение, как следует поступать.
во-первых, файлы *.h - это заголовочные файлы, в них перечисляются только описания (т.е. прототипы) функций соответствующего исходника, а так же необходимые константы, макросы и, иногда, переменные.
во-вторых, проект состоит обычно из простого перечисления файлов с исходными текстами, т.е. *.c. заголовочные файлы в состав проекта не включаются, т.к. сами по себе без исходников не представляют для компилятора ничего интересного, а используются благодаря директивам include в исходниках.
в-третьих, чтобы вам могли помочь, надо давать больше информации: скриншоты, копии сообщений об ошибках, сами исходники и т.п., ибо гадать, что именно вы делаете не так, как надо, никому не интересно.
во-первых, файлы *.h - это заголовочные файлы, в них перечисляются только описания (т.е. прототипы) функций соответствующего исходника, а так же необходимые константы, макросы и, иногда, переменные.
во-вторых, проект состоит обычно из простого перечисления файлов с исходными текстами, т.е. *.c. заголовочные файлы в состав проекта не включаются, т.к. сами по себе без исходников не представляют для компилятора ничего интересного, а используются благодаря директивам include в исходниках.
в-третьих, чтобы вам могли помочь, надо давать больше информации: скриншоты, копии сообщений об ошибках, сами исходники и т.п., ибо гадать, что именно вы делаете не так, как надо, никому не интересно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
Re: вопрос по mikroc
Два исходника в один проект запихать не получиться void main() должен быть один на весть проект, в подключаемом файле могут находиться описание переменных, констант функций и сами функции, чтобы не писать всё это в основное тело программы. Я предпочитаю выносить все описания в фаил а сами функции под тело main. По поводу расширения подключаемых файлов - не важно какое оно будет, главное чтобы название файла и расширение совпадали например фаил funkcii.txt подключаем его #include "funkcii.txt" компилирует без вопросов если нет ошибок в синтаксисе.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: вопрос по mikroc
не важно для компилятора, но важно для программиста. не надо делать так, как не надо делать.alex_ писал(а):По поводу расширения подключаемых файлов - не важно какое оно будет
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: вопрос по mikroc
Товарищ спрашивал о том что не компилирует потому что не то расширение, вот я и ответил что компилятору всё равно, лишь бы имена совпадали, остальное дело этики, хотя по старике используют Н расширение, но по сути можно написать любое
Re: вопрос по mikroc
Я не говорил что нужно определенное расширение, я сказал что в микрос #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.
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
см. ранее написанное мною: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 следует искать во втором исходнике.
все, что я описал - азы языка Си. пожалуйста, ознакомьтесь с ними!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: вопрос по mikroc
А ты не пробовал открывать эти файлы?, когда откроешь сразу многое станет понятно 
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: вопрос по mikroc
и снова вынужден повторитьds3ds3 писал(а):3 си файла, каким же образом используются 2 неосновных?
ARV писал(а):все, что я описал - азы языка Си. пожалуйста, ознакомьтесь с ними!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: вопрос по mikroc
Вот краткое содержание файла 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
};
Другой фаил аналогичен этому.
Re: вопрос по mikroc
alex_, вам надо что то менять в своих заблуждениях. Наверное все таки заняться изучением языка.
В хэдерах не может быть сущностей ...
В хэдерах не может быть сущностей ...
Re: вопрос по mikroc
dosikus, я не совсем понял ход вашей мысли
По поводу приведённого примера в предыдущем сообщении, это не моя фантазия, всё взято из папки примеров mikroC.
По поводу приведённого примера в предыдущем сообщении, это не моя фантазия, всё взято из папки примеров mikroC.
Re: вопрос по mikroc
Я не о примере. Речь о вашем , что хэдеры могут содержать переменные и тело функций.
Re: вопрос по mikroc
Ну и почему в хэдере не описать переменные(массивы, структуры), особенно их дофига?, вообще то это удобно, а компилятору это пофигу он всё равно прочитает по порядку, и сделает усё как надо.
К тому же большого размера константы(рисунки для граф LCD) никто в основной фаил не пихает, листать устанешь.
А по поводу тела функции в хэдере, а почему бы нет, такие вещь называются собственными либами, многие пишут.
К тому же большого размера константы(рисунки для граф LCD) никто в основной фаил не пихает, листать устанешь.
А по поводу тела функции в хэдере, а почему бы нет, такие вещь называются собственными либами, многие пишут.
Re: вопрос по mikroc
У вас совершенно неверное представление о структуре проекта...
Re: вопрос по mikroc
Каждый может сказать, что у тебя не правильно, а где аргументы, с примерами?



