[elektro] C változó típuskényszerítés, konstans
elight
elight at gmail.hu
Wed Mar 4 16:43:50 CET 2020
Köszönöm.
Majd még próbálkozom megfejteni...
Átmenetileg a const előtagok eltávolítása és a
typedefek átírogatása elfogadható
eredményt hozott!
Sok fájl... most éppen ATSAMC11-re fordítva.
A HAL-t az "AT Start" honlapon állítottam össze.
https://start.atmel.com/#project
Ha konkrétan érdekel esetleg elküldhetem magánban.
De akár összeállíthatod magadnak is,
Beikszeled a procit, (pl ATSAMD11G14A)
és a perifériának a PWM-et. Beállítod a clock-ot.
Utána generálod zip be a fájlokat.
Üdv István
2020-03-04 16:30 keltezéssel, Lajos Rancz írta:
> Helló!
>
> Ezt így látatlanba nehéz megmondani, a legjobb lenne ha be tudnád copy
> pastelni a kódot ide, vagy valamilyen hasonló konstrukciót csinálni a
> godbolt-on (https://godbolt.org/ , itt többféle compilerrel tudsz
> kipróbálni kódokat, többféle nyelven pl C, C++; és ezek a kódok linkkel
> megoszthatók).
>
> Üdv
> Lajos
>
>
> elight <elight at gmail.hu> ezt írta (időpont: 2020. márc. 4., Sze, 11:00):
>
>> Köszi..
>> Jó,
>> akkor utólag nézve lehet az okozhatott
>> makacs hibaüzenetet, hogy a type által
>> INT32 -re definiált típust akartam átkényszeríteni
>> INT16 típusúra? És ráadásul nem elég következetesen.
>>
>> Akkor azt majd kipróbálom valahogy,
>> hogy jó lehetne az const-al is..
>> Szerencsére már megtaláltam a helyes módosítás
>> módját és most már nekem megfelelően működik.
>>
>>
>> Üdv István
>>
>> 2020-03-04 10:50 keltezéssel, Lajos Rancz írta:
>>> Helló!
>>>
>>> Itt valami erős félreértés van. A const-ot arra használják, hogy a hívó
>>> kódnak jelzzék, hogy a hívott függvény nem fogja az átadott paramétert
>>> megváltoztatni, emiatt a fordító tud optimalizálni. A probléma általában
>> a
>>> const--ság terjedésével van (fertőző), mert nem const-ból tud lenni
>> const,
>>> de constból nem tud lenni nem const! Példa:
>>>
>>> void const_func(const int* a, const int* b)
>>> {
>>> ....
>>> }
>>>
>>> void myfunc(int* a)
>>> {
>>> int b = 5;
>>> const_func(a, &b); // b: ok; a: not ok!!
>>> }
>>>
>>> Itt a myfunc nem fog lefordulni mert a bemenő paramétere nem const!
>>> Nem lehet, hogy nálad is valami hasonló probléma van?
>>>
>>> Üdv
>>>
>>> elight <elight at gmail.hu> ezt írta (időpont: 2020. márc. 2., H, 12:26):
>>>
>>>> Ismétlem.
>>>> Mi a túrónak....
>>>> kényszeríteni egy függvényt hogy csak
>>>> const típusú adatot dolgozzon fel,
>>>> és ha nem azt kap akkor a hibaüzenete az eredmény?
>>>>
>>>> Egyébként a program "kifésülésével"
>>>> rendeződött a dolog, és már elfogad változót is.
>>>> (EZ sajnos nem PC,
>>>> a const azt jelenti nem RAM-ból várja az adatot.
>>>> és ebben szigorú;)
>>>>
>>>> Üdv István.
>>>>
>>>>
>>>>
>>>> 2020-03-02 12:13 keltezéssel, Kiss Gabor írta:
>>>>> On 3/2/20 9:24 AM, elight wrote:
>>>>>> Mi a túrónak tették a függvény bemenetét const
>>>>>> típusúnak. Így nagyon ritkán használja az ember..
>>>>>> Szerettem volna rövidíteni a "kanyart",
>>>>>> de most elsőre nem igazán jött össze.
>>>>> Ismétlem: az csak egy segítő javaslat a fordítónak, hogy
>>>>> ha lehet valamit optimalizálni annak tudatában, hogy az adott
>>>>> változót nem fogja felülírni a függvény, akkor nyugodtan tegye meg.
>>>>>
>>>>> kissg
>>>> -----------------------------------------
>>>> elektro[-flame|-etc]
>>>>
>>> -----------------------------------------
>>> elektro[-flame|-etc]
>> -----------------------------------------
>> elektro[-flame|-etc]
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list