|
|
  |
Java на Cortex-M, в частности STM32F4 |
|
|
|
Jul 3 2015, 12:59
|

Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747

|
Цитата ничего нового - IS2T Пардон, повторяюсь. Соглааситесь, за деньги немалый выбор GUI, IDE, RTOS, стеков, яв и прочего вкусного, но ждать подобного нахаляву глупо, быстрее С изучить )
--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
|
|
|
|
|
Jul 3 2015, 13:17
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
Это кому как, если C/C++ освоен, то выбирать приходится между C# и Java, мой выбор (и многих кстати) за Java. Проще удобней, много наработок в инете. C#, с точкой нет - пока кошмарики, это все касаемо только ембеддеда. А если лень победила творчество и потребности в развитии, то да сиди на сях, строчи и отлаживай GUI, IDE, RTOS, стеки ...
|
|
|
|
|
Jul 4 2015, 03:51
|

Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747

|
Цитата вот программе на Java пофиг, мульти-платформенная она. Ага, только умные люди постарались сделать за вас всю гразную работу, чтоб вы даже не задумывались о выделении/освобождении памяти, зачем, ее же так много. Вот только тема о Cortex-Mx и в данном случае это пустая беседа из разряда "21 век на дворе, а почему вы пишите на C/C++". Умиляет
--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
|
|
|
|
|
Jul 4 2015, 06:37
|

Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747

|
Цитата реализуете исключения на си ? ExceptionHandler
--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
|
|
|
|
|
Jul 4 2015, 07:42
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
мы ж говорили об утечке памяти мне кажется, что вы совсем не о тех исключениях пример, если что: Код try { File.createTempFile("prefix", ""); } catch (IOException e) { // Handle IOException } если что-то пошло не так: - освобождаем буферы - закрываем файлы - можем делать это вложенно внутри одной функции - можем откатываться на неопределённое количество уровней вызовов в разных функциях - можем проанализировать причину исключения, всех исключений и всё это в три строчки, без всякого шаманства, как в вашем примере
|
|
|
|
|
Jul 4 2015, 12:12
|

Частый гость
 
Группа: Участник
Сообщений: 156
Регистрация: 27-09-06
Из: Irkutsk
Пользователь №: 20 747

|
Мы о разных вещах говорим, в примере я вам показал саму кухню железячного механизма исключения на Cortex-M3/4. Спорить тут бесполезно, я не принижаю достоинства Java, напротив, высокий уровень абстракции и кроссплатформенность это гуд, возможно это стало не последней причиной в выборе Java как платформы для Android-приложений, но никто не знает что стоит за Java-машиной, и как она транслирует слой абстракции на платформу. Удобства оборачиваются повышенными требованиями к ресурсам платформы, от того для Cortex-M это пустой звон. А исключения на голом C обрабатываются макросами setjmp() и longjmp()
Сообщение отредактировал Mihey_K - Jul 4 2015, 12:29
--------------------
Блог о разработке на CC430, SIM900, GPS, ARM и не только...
|
|
|
|
|
Jul 6 2015, 04:38
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(Aner @ Jul 3 2015, 20:44)  вот программе на Java пофиг, мульти-платформенная она. Это не так. Программа на Яве мультиплатформенна до тех пор, пока мультифплатформенны библиотеки, на которые она опирается. С тем же успехом мультиплатформенна программа на Си. Т.е. хэлловорлд мультиплатформен и возможно даже переносим на уровне байт-кода, а вот что-то посложнее уже большой вопрос Цитата(Огурцов @ Jul 4 2015, 10:42)  Код try { File.createTempFile("prefix", ""); } catch (IOException e) { // Handle IOException } если что-то пошло не так: - освобождаем буферы - закрываем файлы - можем делать это вложенно внутри одной функции - можем откатываться на неопределённое количество уровней вызовов в разных функциях - можем проанализировать причину исключения, всех исключений и всё это в три строчки, без всякого шаманства, как в вашем примере Это ж все о С++, да?  Кстати в данном коде в Яве файл будет закрыт при сборке мусора (т.е. неизвестно когда), а в плюсах - при выходе из блока
|
|
|
|
|
Jul 6 2015, 05:58
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Огурцов @ Jul 4 2015, 10:42)  если что-то пошло не так: - освобождаем буферы - закрываем файлы - можем делать это вложенно внутри одной функции - можем откатываться на неопределённое количество уровней вызовов в разных функциях - можем проанализировать причину исключения, всех исключений и всё это в три строчки, без всякого шаманства, как в вашем примере Это в исходном тексте 3 строчки. Но это всё должно обеспечиваться. Любой язык верхнего уровня не устраняет проблемы, а скрывает их. Чем больше возможностей, тем больше код который их обеспечивает. Но это ведь тоже кем-то написано. Не уверен, что без косяков. В случае чего запаришься искать. Вот и получается что вся эта многоплатформенность, как бы это сказать, не совсем полная. Например отладили Вы код на писишке и радуетесь. Запускаете на МК, компилируя той же студией и из того же проекта и те же исходники, - короче всё тоже.... И бац что-то не так. Потому что библиотеки разные движок разный, компилятор не тот на самом деле ... А что же тогда то? Да только среда разработки. К этому ли стремились?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|