RE: C: ja přiřadit ukazateli pevnou adresu v paměti?

Miroslav Draxal evik na volny.cz
Sobota Leden 12 17:45:31 CET 2019


pPokus = (uint8_t *)0 ;    // jsem zkoušel

pPokus = (void *)0;         // jsem nezkoušel

 

jde o XC8

    volatile uint8_t *pPokus0;

    volatile uint8_t *pPokus1;

    volatile uint8_t *pPokus2;

    pPokus0 = (uint8_t*) 1;

    pPokus1 = (void*) 2;

    pPokus2 = 3;

 

zkompiluje jako 

 

!    volatile uint8_t *pPokus0;

!    volatile uint8_t *pPokus1;

!    volatile uint8_t *pPokus2;

!    pPokus0 = (uint8_t*) 1;

!    pPokus1 = (void*) 2;

0x7C5E: MOVLW 0x2

0x7C60: MOVWF pPokus1, ACCESS

0x7C62: CLRF c, ACCESS

!    pPokus2 = 3;

0x7C64: MOVLW 0x3

0x7C66: MOVWF value, ACCESS

0x7C68: CLRF 0x4A, ACCESS

 

Z toho jde vidět, že 

pPokus0 = (uint8_t*) 1; //nezkompiluje, 

pPokus1 = (void*) 2; // je vítěz

pPokus2 = 3; // tady upozorňuje.

 

Takže pPokus1 = (void*) 2; je vítězem. Díky, Míra

 

From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jaroslav Buchta
Sent: Saturday, January 12, 2019 5:19 PM
To: hw-list na list.hw.cz
Subject: Re: C: ja přiřadit ukazateli pevnou adresu v paměti?

 

Nevim, co mate za prekladac, ale zkuste nasledujici:

 

pPokus = NULL;

pPokus = (void *)0;            // coz je vetsinou to same

pPokus = (Uint8_t *)0 ;    // fakt velke U?   

 

Dne 12.01.2019 v 17:11 Miroslav Draxal napsal(a):

Dobrý den ve spolek.

Dnes jsem si uvědomil, že neumím přiřadit ukazateli adresu, která je mnou pevně daná jako l hodnota, aby mě překladač nevaroval

„illegal conversion of integer to pointer“

Je to pouze z ladících účelů

 

Čili

Uint8_t *pPokus;

pPokus = 0x00; // tady varuje, čili adresa 0x00 v paměti

 

Jak by to mělo být správně zapsané?

Díky

Míra





_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list

 

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20190112/76a8f93c/attachment-0001.html>


Další informace o konferenci Hw-list