Hai aggiunto gtk etichetta, probabilmente, questa è la risposta: usa solo GTK e otterrai l'app C pura. Come bonus sarai in grado di eseguire la tua app su più piattaforme (ovviamente: crossplatform non è indolore).
L'altra opzione - QT libreria.
Incorpora modulo C
C'è un altro approccio: usa il modulo C come nucleo e NodeJS o Python (Java / C # / ...) per scrivere l'interfaccia utente e altra logica applicativa:
-
Codice UI in python / javascript / java / C # ...
-
logica delle applicazioni (argomenti di analisi, carico DB, gestione degli eventi, segnali ..) implementati in python / js / java / C #
-
cose che richiedono tempo potrebbero essere implementate in C e compilate come modulo per il linguaggio corrispondente (non dimenticare: molte cose già implementate ed esistono come pacchetti su NPM e PyPI )
Probabilmente, questo approccio dovrebbe ridurre i tempi di sviluppo, l'applicazione C nativa di bcz (interamente in C: UI + core + whistles) impiegherà A LOT OF YOUR TIME . Ma se non hai familiarità con altre lingue o se vuoi imparare C - questo non fa per te.
Una cosa importante per i programmatori junior: evita di creare il tuo scooter, quando ci sono molti guru, che hanno già creato fantastiche biciclette . Almeno guarda, quali insidie hanno già evitato;)