реклама на сайте
подробности

 
 
> Начало Си-программы, Вопрос для программистов
RomanRom
сообщение Sep 12 2005, 04:52
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635



Встречается void main (void) и int main (void). Последний вариант, говорят, по ANSI. В чем разница, если компилируется одинаково (имеется в виду именно микроконтроллерный, а не компьютерный Си)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
delta1968
сообщение Sep 12 2005, 16:07
Сообщение #2


Участник
*

Группа: Новичок (без почты)
Сообщений: 28
Регистрация: 28-07-05
Пользователь №: 7 163



В стандарте ANSI int - целочисленный тип, void - не типизированный, то есть может принимать любое значение. Которое в дальнейшем можно привести к любому типу int, char, unsigned int, unsigned char. Основное тело программы на Си Функция main, как любая функция может возвращать, может не возвращать значения. Но всё же рекомендуется использовать int main() так как в дальне вы можете захотеть переписать программу, например для работы в среде ОС и там она будет возвращать значение.
Go to the top of the page
 
+Quote Post
RomanRom
сообщение Sep 14 2005, 10:04
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635



Цитата(delta1968 @ Sep 12 2005, 19:07)
рекомендуется использовать int main() так как в дальне вы можете захотеть переписать программу, например для работы в среде ОС и там она будет возвращать значение.
*

Спасибо за ответы, но попутно возник вопрос - что подразумевается под ОС? Некая абстрактная микроконтроллерная ОС (какая именно, как функционирует, существует ли вообще) или ОС многопроцессорной системы или ОС компьютерная?
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 15 2005, 14:09
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(RomanRom @ Sep 14 2005, 13:04)
Цитата(delta1968 @ Sep 12 2005, 19:07)
рекомендуется использовать int main() так как в дальне вы можете захотеть переписать программу, например для работы в среде ОС и там она будет возвращать значение.
*

Спасибо за ответы, но попутно возник вопрос - что подразумевается под ОС? Некая абстрактная микроконтроллерная ОС (какая именно, как функционирует, существует ли вообще) или ОС многопроцессорной системы или ОС компьютерная?
*


попробую разжевать.
Считается что СИ язык "переносимый", т.е. программу с одной платформы можно перенести без особых проблемм на другую. Например написал ты програмку под AVR (разумеется там нет никакой ОС) на Си, а потом решил перенести её на более мощный ARM, в котором уже может существовать ОС, и ты без проблемм это сделаешь, если следовал стандартам и рекомендациям. Чего тут можно не понять? cool.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01403 секунд с 7
ELECTRONIX ©2004-2016