PDA

Visualizza la versione completa : [C] Domanda giurassica sugli ambienti di sviluppo come CodeBlocks


rino95
25-11-2016, 21:06
Quando scrivo un programma C in CodeBlocks che magari contiene molte definizioni di tipi e molte funzioni, costruisco un file .h che contiene le definizioni e i prototipi delle funzioni e un file .c che invece contiene le implementazioni, cos includendoli nel main.c come se stessi lavorando con tutto l'occorrente in un unico file...
ora vorrei sapere, visto che noi includiamo per esempio la stdio.h per usare la printf o una qualunque altra funzione di i/o, da dov' che CodeBlocks "guarda" come fatta la printf? da dove la prende? In sostanza, possibile guardare l'implementazione di una qualsiasi funzione base dichiarata in una delle librerie base che usa qualsiasi ambiente di programmazione in linguaggio C (che sia la printf, fprintf, strlen ecc.....)?
Capisco che a molti pu sembrare una domanda abbastanza idiota, ma sarei davvero curioso di vedere direttamente il file .c che contiene l'implementazione di tutte le funzioni dichiarate nei file header base del linguaggio C (stdio.h, string.h, math.h, stdlib.h ecc.......) e in particolare da dove le prende CodeBlocks!!

oregon
25-11-2016, 23:25
Le implementazioni delle funzioni di libreria stanno ... nelle librerie, ovvero, gi compilate, nei file .lib (o nei file .dll, questo per ora non importa) che vengono indicati al compilatore per essere collegate al resto del compilato quando serve.

A volte possibile anche avere a disposizione i sorgenti (.c o .cpp) ma non necessario ai fini della compilazione e dipende dal tipo di distribuzione del compilatore. Comunque puoi trovare quello che ti serve in rete

https://fossies.org/dox/glibc-2.24/printf_8c_source.html

rino95
28-11-2016, 23:35
Grazie mille molto gentile!!

Loading