Toon posts:

[Java] Interrupt/port-programming

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een vraag waarop ik denk dat het antwoord nee is. :)

Zijn er binnen Java ook classes/mogelijkheden om interrupts uit te voeren, processorregisters te lezen of bytes naar poorten te schrijven of uit poorten te lezen?
Zeg maar: is het mogelijk de basis-assembler functies te gebruiken?

En zo nee, heeft er dan iemand enig idee hoe ik zelf zulke classes zou kunnen schrijven of is dit echt een onmogelijkheid?

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15-09 22:39
Denk dat je dan de Java native interface moet gebruiken. 3xD had kort geleden nog een goede link naar een JNI pdf-je hier. ff zoeke...

[edit]
Hier dus...
[topic=373015/1/25]

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hum, dit moet een grapje zijn ;) .

In Java kan dit natuurlijk nooit, helemaal nooit. Java bytecode is onafhankelijk van een specifieke processor architectuur. Dergelijke zaken zijn absoluut onmogelijk en moet je in een taal oplossen die dichter bij de hardware ligt.

Je kunt het via JNI inderdaad oplossen, maar ik zou even goed nadenken of het dan nog wel zinnig is om voor de rest Java te gebruiken. Het hangt er vanaf hoe groot dit 'freaky' component is.

Dit is dus typisch iets, waarvoor geen Java moet hebben (en vele andere talen erbij trouwens) :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Het komt zo. Ik heb ooit eens in BASIC/assembler een computer-identificatie-programma geschreven, en dat wil ik nu graag herschrijven met een Windows-interface. :)
Het programma hoeft dus alleen maar te kunnen draaien op Windows-procs (Intel, AMD, Rise, Cyrix, WinChip, e.d.).

Ik ken verder geen C++ o.i.d., dus ik dacht: misschien kan ik Java hiervoor mis- of gebruiken. :)
Ik begrijp dus dat het (in het geval van een applicatie uiteraard) wel kan, alleen dat dan de platformonafhankelijkheid verloren gaat (dit spreekt voor zich). :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
minne: Ik begrijp dus dat het (in het geval van een applicatie uiteraard) wel kan, alleen dat dan de platformonafhankelijkheid verloren gaat (dit spreekt voor zich). :)
Nee, het kan niet in de taal Java.

Je kunt echter met behulp van JNI wel C code aanroepen. Je kunt de onmogelijke zaken dus in C implementeren en daarna vanuit Java gebruiken.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Ic, eerlijk gezegd weet ik nog niet echt wat ik me bij die JNI voor moet stellen, (ben nu ff in dat PDFje aan het balderen) maar de code die de identificaties uitvoert moet dus in C of een dergelijke taal gemaakt worden, en kan dan evt. in een Java-interface gegoten worden via de JNI. :?
De JNI bevat voor de vereiste functies dus zelf geen opdrachten. :?

Dan is het gebruik van Java idd niet echt zinnig meer. :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
minne: De JNI bevat voor de vereiste functies dus zelf geen opdrachten. :?
JNI houdt in dat je in een Java klasse native functies op kunt nemen. Je beschrijft echter alleen de signature van de functie (argumenten, naam, resultaat). De methode zelf implementeer je in bijv C.
Dan is het gebruik van Java idd niet echt zinnig meer. :)
Mwah, dat hangt er vanaf hoeveel je verder moet maken en hoe goed je terecht kunt in een andere taal. Op zich kan het best goed gaan werken :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Hmmm... tijd voor een C-tutorialtje dan maar... :)

Iig bedankt voor de hulp :)
Pagina: 1