[elektro] PIC C sztring

hg12345 hg12345 at freemail.hu
Sun Feb 26 18:47:29 CET 2012


Hi!

Éppen ezt akartam írni, hogy a string a typedef-fel létrehozott típus, csak hibásan írtam a typedef-t.
A PC fordítóban majd nézd meg a megfelelő headerben.

addig is a helyes megoldás:

typedef  char const String[];

Ami  különbség lehet a pointeres megadásban
hogy 
const *char
char *const 
nem ugyanaz, mert ez egyik egy konstans pointer mig a másik egy konstans helyre mutató pointer :-)

A const és a persistent(ha van)  leginkább a linkernek utasítás melyik segmensbe töltse az adat adatot vagy változót. 

Amúgy optimalizáld a két definició használatád, és ugyanazt a kódot kapod :-). Az optimalizáció nélkül csak a forditó macrozása látszik a kódon....


Palasik Sandor <palasik at mail.datanet.hu> írta:
>Üdv!>
>
> A string adott környetben definiált változó,>
> valószínüleg :>
>>
> typedef   const char[]  string;>
>
Valószínűleg nem, mert ez szintaktikus hibát ad. Másrészt a string nem>
fentartott név C-ben.>
>
De hogy egyértelmű legyen, átneveztem a változókat:>
>
; 9    :        suwegrfib = sihgdfpioh;>
  00003 a1 00 00 00 00   mov     eax, DWORD PTR _sihgdfpioh>
  00008 a3 00 00 00 00   mov     DWORD PTR _suwegrfib, eax>
; 10   :        agfowshbfg = aasifhisa;>
  0000d c7 05 00 00 00>
        00 00 00 00 00   mov     DWORD PTR _agfowshbfg, OFFSET>
FLAT:_aasifhisa>
>
Szóval továbbra is azt állítom, hogy az extern char * és az extern char []>
nem ugyanaz.>
>
Palasik Sándor>
>
----------------------------------------->
          elektro[-flame|-etc]



More information about the Elektro mailing list