Visual C# 2005
Homman nimi on sellainen että pitäisi jotenkin saada pointteriin suora muistiosoite joka on tallennettuna int-muuttujaan. Eräs ActiveX-komponentti palauttaa funktiolla käsittelemänsä tiedon muistiosoitteen (C long-tyyppisesnä, mutta taitaa olla int C#:ssa).
Esim. tyyliin.
unsafe koodia...jne..plaaplaa
{
int *ptr;
int osoite = 3243290490; // hatusta vetäsin
ptr = osoite; /* Tässä kohtaa mennään metsään, kun C# ei ymmärrä */
}
Kääntäjä valittaa seuraavaa: Cannot implicitly convert 'int' to 'int*'. An explicit conversion exists (are you missing a cast?)
Onko olemassa jotain kikka kolmosta ongelman ratkaisemiseksi? Muuten tekisin ohjelman C :lla mutta kun rahkeet ei riitä C :ssa muuhun kuin konsoliohjelmien tekoon ja mikro-ohjainten ohjelmointiin (c-kieli).
Visual Basicilla sain kyllä moisen tempun tehtyä vaikka se on vielä vähemmän osoitin-ystävällinen. Ainut vaan että Basic on tehoton kieli nopeaan prosessointiin, mihin olisi tarvetta. Mitä tehokkaampi kieli, sitä vaikeampaa on, ainakin aluksi.. :) Tarkoitus on kyllä sitä c :kin opiskella (nytkin pari kirjaa lainassa), mutta kun se alku on aina hankalaa.... Snif..
C# ja suora muistiosoite
7
1793
Vastaukset
- kjhg
Tyyppimuunnoksen kanssa pitäisi toimia:
unsafe
{
int* ptr;
int osoite = 3243290490;
ptr = (int*)osoite;
}- überkoodari
Sehän tuli kuin apteekin hyllyltä! Kiitos todella paljon!
Noin se tosiaan toimii.. On todella "hurjaa" kun C#-kielessä joutuu kirjoittamaan "unsafe"-koodia osoittimien kanssa. Kielen pitäisi olla muka helpompaa, mutta vaikeammaksihan se menee kun helppouden muuria joutuu särkemään..
Noh, joka kielessä on omat jipponsa; ei auta itku markkinoilla. :)
Ihan uteliaisuudesta: sattuukohan kukaan tietämään miten osoittimet saa käyttöön javalla (visual j#)? :D
Kumpi on mielestänne hyödyllisempi kieli: java vai C#? Itse touhuilen pääasiassa sulauttujen järjestelmien/sovellusten kanssa (= elektroniikkaa mukana), eli sellaisessa tarkoituksessa. Mitään pelejä tms. ei ole tarkoitus väsäillä, lähinnä videokuvaa tai ääntä analysoida.
- kjhg
Periaatteessa *- merkki tulee tyypin perään eikä osoittimen nimen eteen kuten sen kirjoitit. Jos rivillä esitellään vain yksi osoitin, ei tosin tule virhettä, koska välilyöntien paikoilla ei ole merkitystä.
int* p1, p2, p3; // Näin
int *p1, *p2, *p3; // Ei käänny- überkoodari
Kiitti vielä tästäkin vinkistä. Hieman juurtunut tuo osoittimien käyttö c-puolelta.. :)
- näin?
int* p1, p2, p3; // Näin
int *p1, *p2, *p3; // Ei käänny
------------
Onko todellakin noin? Jos on, kielen kehittäjät eivät ole liikaa vaivautuneet säilyttämään c/c :n esittelymuotoja. - überkoodari
näin? kirjoitti:
int* p1, p2, p3; // Näin
int *p1, *p2, *p3; // Ei käänny
------------
Onko todellakin noin? Jos on, kielen kehittäjät eivät ole liikaa vaivautuneet säilyttämään c/c :n esittelymuotoja.Ainakaan äkkiseltään kun kokeilin, niin ei toiminut. C#-kielessä on jotain tuollaista pientä hämärää, joka kummastuttaa jos siirtyy esim. c/c puolelta suoraan..
- Mika0800
vertailu:
char* s1, s2, s3; // Loogisesti oikeaoppinen tapa, mutta hyvin harva C -ohjelmoija kirjoittaa näin.
char *s1, *s2, *s3; // C-kieliohjelmoijien eniten käyttämä tapa, vaikka onkin erittäin epälooginen.
C -kääntäjä yleensä hyväksyy kumman tahansa tavan käytön.
harjoitustehtävä:
kirjoita funktio, joka muuntaa kumman tahansa em. merkkijonoista tällaiseksi:
"char* s1, s2, s3;"
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Eli persujen rääkyminen Marinin hallituksen velanotosta oli sitä itseään
"Valtiovarainministeriön mukaan Marinin hallitus lisäsi valtion pysyviä menoja 3 miljardia eikä 11 miljardia euroa." El1016547MTV3 - Auerin poika todistaa videolla, miten Anneli pahoinpiteli lapsia!
Kello 10.04 – Ainakin kerran viikossa se löi. Löi muitakin sisaruksia, mutta ei isosiskoa. Nuorinta siskoa en ole nähny535604Orpon hallitus paskoi kaikki hommat
ja "yllätäen" ilmestyi raportti Marinin hallituksen tuhlailusta, raportti tuli kuin TILAUKSESTA.724386NO NIIN! Nyt on sitten prinsessa Sannan sädekehä lopullisesti rikottu
narsistia ei kannata enää kuin ne fanaattisimmat kulttilaiset, jotka ovat myös sitä Suomen heikkoälyisintä sakkia. Kun834274Kansa haluaa Marinin hallituksen takaisin ja Orpon pois
Suomen kansa on nyt ilmoittanut millaisen hallituksen Suomi tarvitsee. "Suomalaisten suosikki seuraavaksi hallituspohja874026Mikä piirre kaivatussa on sinulle se juttu?
Tunnetko kaivattuasi vai onko hän haavekuva, jota et edes tunne? Joskus tää asia ei ole niin selvää.811381- 791215
- 3281175
Onko kaivattusi muuttunut sinä aikana
Kun olet hänet tuntenut? Jos, mihin suuntaan? Mistä epäilet muuttumisen johtuneen?35968Upeeta! Rauha tulee pian!
Hieno suunnitelma ja se on toteutumassa alle kahdessa viikossa. Jihuu! Tätä on odotettukin, nyt se tulee! https://www.is306900