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
1743
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
Olen tosi outo....
Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap172194Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta
https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi842148- 1011407
Vanhalle ukon rähjälle
Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen101366Maisa on SALAKUVATTU huumepoliisinsa kanssa!
https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663841247Hommaatko kinkkua jouluksi?
Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k1461188Aatteleppa ite!
Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.249896- 78879
Omalääkäri hallituksen utopia?
Suurissa kaupungeissa ja etelässä moinen onnistunee. Suuressa osassa Suomea on taas paljon keikkalääkäreitä. Mitenkäs ha173874- 63864