Fwd: ESP32 zahada C

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Neděle Červenec 16 14:52:21 CEST 2023


No ale kdyz chci weak, napisu weak a pak tuto vlastnost chapu. Takhle je 
to velmi zakerne.
Zatim jsem jeste chvili zkoumal a vypada to, ze kdyz to z modulu uz nic 
nepotrebuje, tak ho to neresi a ani nekontroluje duplicitu. Kdyz tam dam 
neco, co musi uz prilinkovat, tak to vypise chybu.

Dne 16.07.2023 v 14:44 František Burian napsal(a):
> Zdravím,
>
>    https://en.wikipedia.org/wiki/One_Definition_Rule
>
>    V překladači gcc a v jazyce je multiple definition v linkeru undefined behavior, může si prostě vybrat kterou použije a to co vygeneruje kompilátor v druhé
> verzi symbolu to skartuje. Je to z důvodu weak, nedokážu to popsat ale bez této vymoženosti by nešel napsat weak.
>
>    Toto mimochodem bylo důvodem k zavedení namespace.
>
> S pozdrvem,
>
>    František Burian
>
> Dne 16. 07. 23 v 14:22 Jaroslav Buchta napsal(a):
>> Ted zkoumam nejaky kod, (nekoukejte na funkcnost, to ted neni dulezite) a nechapu, proc linkeru nevadi za nejakych okolnosti, ze jsou ve 2 souborech identicke
>> globalni funkce. ESP-IDGF je 5.0.3
>>
>> Tak jak to je, se to bez reci prelozi.
>>
>> Pokud prejmenuju jednu funkci (init v souboru mcp9804_spy.c) tak vznikne chyba, kterou bych cekal i v predchozim stavu
>>
>> D:/tst/____/unity_fixture_test/components/temperature/mcp9804.c:37: multiple definition of `mcp9804_get_temperature';
>> esp-idf/temperature/libtemperature.a(mcp9804_spy.c.obj):D:/tst/____/unity_fixture_test/components/temperature/mcp9804_spy.c:24: first defined here
>>
>> Kdyz ji prejmenuju jen v souboru mcp9804.c je to zase OK.
>>
>>
>> Je to nejaka zamerna featura nebo cim to je? Jedine, co me napada, ze linker najde vsechny funkce ve prvnim modulu a tim padem se uz na druhy ani nediva, ale
>> stejne nevim, jestli je to vlastnost, nebo chyba linkeru...
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
> _______________________________________________
> 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