Автор Тема: Как да пренапиша този код от С в Java  (Прочетена 2294 пъти)

popov222

  • Новаци
  • *
  • Публикации: 2
    • Профил
Здравейте,
    Искам да напиша Java програма която да взема от /proc всички демони и данните на демоните. И стигнах до един проблем: Трябва да взема от кода на top кода за изчисление на CPU и RAM а тоза се прави по формула. Можете ли да ми помогнете да намеря тази формула?

Прикачил съм кода на top.

Поздрави

 
Активен

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Как да пренапиша този код от С в Java
« Отговор #2 -: Dec 27, 2013, 19:15 »
Подозирам че искаш да си правиш "красив" top за Андроид?
Активен

"Knowledge is power" - France is Bacon

bvbfan

  • Напреднали
  • *****
  • Публикации: 1056
  • Distribution: KaOS
  • Window Manager: Plasma 5
    • Профил
Re: Как да пренапиша този код от С в Java
« Отговор #3 -: Dec 27, 2013, 20:06 »
Може да пренасочиш stdout към буфер и да ползваш целият код написан на С и още по-добре може да си го компилираш в динамична библиотека и Java-та само да викаш една функция.  ;D Повече не мога да издавам научете малко С.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Как да пренапиша този код от С в Java
« Отговор #4 -: Dec 27, 2013, 22:12 »
Това с JNI по принцип не е лоша идея, но те връзва към архитектурата и става голяма забава ако трябва да подържаш няколко различни такива...според мен има смисъл когато трябва да се достъпва нещо по хардуера на по-ниско ниво, което не е expose-нато за java-та...или ако трябва да правим cpu-интензивни сметки, които java-та няма да докара по-бързо от добре оптимизиран C код. В случаят с четенето от procfs не знам дали има смисъл от заниманието...формули, глупости, мисля че най-добре е някъде да се види документация на нещата в procfs и да се види кое на коя колона в /proc/pid/stat какво точно е, формулата оттам няма кой-знае колко мислене да се докара.

Ако все пак е за андроид, там от 4.3 нататък (и особено в киткат-а) нещо доста позатегнаха нещата с тези selinux простотии, та може и да не може да се изчетат procfs нещата от процес, вървящ с друг uid....ама знам ли, не съм си играл. При всички положения, четенето от procfs, разбиването на низове с някакъв разделител и превръщането от низ към int не е особено сложно, на java е още по-лесно. Всичко става с малко играчки и експерименти, аз не съм сигурен че ако търсиш акъл от друг човек ще е по-добре точно в този случай, в сравнение с това да си поиграеш.
Активен

"Knowledge is power" - France is Bacon

popov222

  • Новаци
  • *
  • Публикации: 2
    • Профил
Re: Как да пренапиша този код от С в Java
« Отговор #5 -: Dec 29, 2013, 00:18 »
Добре де, но в proc/XXX/stat файла имаме 1746 (hald-runner) S 1745 1745 1745 0 -1 4202496 1197 13856 9 10 0 1 4 5 20 0 1 0 3498 20815872 282 18446744073709551615 1 1 0 0 0 0 0 4096 65536 18446744073709551615 0 0 17 1 0 0 23 0 0. Как използвам тези данни, така че да мога да получа cpu load?
Активен

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Re: Как да пренапиша този код от С в Java
« Отговор #6 -: Dec 29, 2013, 09:40 »
В статията, дето пуснах линк пише кое какво е и как да си го извадиш.
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
java
Настройка на програми
jojopara 3 9312 Последна публикация Feb 03, 2003, 13:06
от Nerdboy
Приложение на Java под конзола
Настройка на програми
laik 3 7227 Последна публикация Jun 07, 2004, 19:23
от v_badev
приложение на Java
Общ форум
laik 3 7884 Последна публикация Jun 17, 2004, 13:10
от JOKe
JAVA програмиране
Общ форум
smitev 8 9102 Последна публикация Jul 13, 2004, 00:26
от JOKe
Защо никой не обича Java?/Sprechen Sie Java? (слети теми)
Общ форум
b2l 68 39515 Последна публикация Sep 07, 2011, 12:30
от gogonk