C xc8

Miroslav Šinko sinkomiro na gmail.com
Středa Prosinec 6 01:07:11 CET 2017


Problem je, ze pri tom druhom zapise sa kompilator snazi vobec nieco robit.

Definicia adresy je velmi specificka, bez nej konci kompilacia inymi 
kompilatormi nasledovne:

const char ootLoader = {"BootLoader"};

VC:
error C2440: 'initializing' : cannot convert from 'const char [11]' to 
'const char'
There is no context in which this conversion is possible

g++:
error: invalid conversion from 'const char*' to 'char'

miro

On 5.12.2017 22:28, konfera na efton.sk wrote:
> To prve definuje pole charov dlzky danej inicializatorom, a nainicializuju ju tym retazcom.
>
> Tie druhe dva definuju na adrese 0x30 premennu typu char (t.j. jedeb jediny byte), do ktorej sa snazia narvat (nainicializovat ju na) pointer na retazcovu konstantu (string literal). Ta pochopitelne moze byt potom umiestnena kdekolvek.
>
> wek
>
>
>
> -----Original Message-----
>
> From:  "Miroslav Draxal"<evik na volny.cz>
> Subj:  C xc8
> Date:  Tue 5. Dec 2017 17:24
> Size:  2K
> To:  "'HW-news'"<hw-list na list.hw.cz>
>
>       Dobrý den,
> Ne¾ to ode¹lu jako bug vxc8, optám se zdej¹ích odborníku.
>
> const char ootLoader [] @0x30 = {"BootLoader"};
>   ulo¾í do ROM od adresy 0x30
>
> const char ootLoader  @0x30 = {"BootLoader"};
>
> ulo¾í do ROM od adresy 0x100 pro procesory do 8kW, 0xf00 pro procesory do 64kW bez upozornìní.
> Myslíte, ¾e je ktomu nìjaký dùvod?
> Díky za reakce, Míra
>
> Ps. Navazuje na vlákno PIC XC8 Bootloader
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list