C a peklo updatov

Jan Waclawek konfera na efton.sk
Pondělí Říjen 9 18:54:50 CEST 2023


>To křičel překladač nebo linker?

Krical kompilator. Teda nie errorne, len warningovo, ale mne to staci.
Napokon by zrejme linker padol do erroru, kebyze tam nemam aj ine,
vaznejsie chyby, ktore brania kompilacii... :-)

>Pokud překladač - nedalo se to poznat uµ z toho <string.h>?
>®e by tam bylo něco jako "ifdef _GNU_SOURCE ...".

Iste by sa dalo. Pozerali ste dakedy do <string.h> resp. do celej sustavy
headerov v newlib? Je to ciste preprocesorove peklo, toho sa da dotykat
len certifikovanymi vidlami.

>Pokud ano, tak by asi stačilo pouµít headery z toho původního kompilátoru.

To by som sa neodvazil. 

Nie je problem ten #define _GNU_SOURCE pridat, len ma zarazilo, ze sa to
spravanie medzi prekladacmi zmeni. 

Ano, ide o detaily. A o diablikov...

wek



----- Original Message ---------------

>To křičel překladač nebo linker?
>Pokud překladač - nedalo se to poznat uµ z toho <string.h>?
>®e by tam bylo něco jako "ifdef _GNU_SOURCE ...".
>Pokud ano, tak by asi stačilo pouµít headery z toho původního kompilátoru.
>
>PL
>
>*********************
>
>Dne 9.10.2023 v 18:19 Jan Waclawek napsal(a):
>> Pred asi 8 rokmi som v jednom projekte pouzil kus C kodu ktory napisal
>> ktosi iny, znalejsi nez ja; bola tam pouzita funkcia strcasestr(). To je z
>> tych funkcii, ktore nie su v standarde, ale bezne su k prekladacom
>> pribalene, pretoze su velmi uzitocne. Konkretne strcasestr() ma tu istu
>> funkciu ako strstr() (t.j. hlada vyskyt pod-retazca v inom retazci, cize
>> je to uzitocne pre parsery) a byva prototypovany v <string.h>.
>>
>> Teraz som z toho stareho projektu vykopiroval kus, pokusam sa prelozit, a
>> prekladac krici, ze nevie, co je strcasestr(). Hm.
>>
>> Guglenie prezradilo
>> https://stackoverflow.com/questions/9935642/how-do-i-use-strcasestr , ze
>> treba pouzit _GNU_SOURCE - fajn, pouzil som podla navodu, prelozil,
>> funguje.
>>
>> Ale pozeram do toho stareho projektu, a tam ziadny _GNU_SOURCE  nie je, a
>> pritom sa da bez problemov prelozit.
>>
>> Najdi tri rozdiely.
>>
>> No, rozdiel je v prekladaci - na novsi projekt som pouzil novsi
>> gcc/binutils/newlib. A vysvitlo, ze strcasestr() je "skryte" tym
>> _GNU_SOURCE az od roku 2014, pricom starsi projekt som prekladal starsim
>> prekladacom, z roku 2013...
>>
>> Takze updaty aj ineho nez Thunderbirdu vedia otravit cloveku den...
>>
>> wek



Další informace o konferenci Hw-list