Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

C++ en gui

Jakobvk
4 antwoorden
  • Zit er bij C++ een module om gui's mee te maken ingebakken(net als bij java swing of awt), of moet je altijd gebruik maken van externe libraries, zoals gtk, QT, wxwidgets etc? Welke gui library worden dan het meest gebruikt? Ik heb zelf wel met wxwidgets gewerkt, maar erg gebruiksvriendelijk vind ik dat niet . (vergeleken met java awt/swing). Het grootste probleem vind ik vaak de slechte documentatie.

    Hoe zit het dan met de platformcompatibility?
    Kan ik een c++ programma geprogrammeerd op een linux systeem ook draaien op een windows systeem, of moet ik daar dan ook die library installeren?
  • Er zijn wel WYSIWYG editor's (mag je dat wel zo noemen hier?) voor C++, maar niet echt optimale dingen.

    Als je geen platform-dependent code schrijft kan je applicatie op Windows, Linux en andere platformen draaien. Je zult hem wel voor elke platform met een andere compiler moeten compileren.
  • De broncode van C++-programma's zijn uitwisselbaar tussen verschillende besturingssystemen, mits je alleen de standaard C++-commando's gebruikt. Dit betekent echter dat je geen GUI kunt gebruiken. Om dit op te lossen zijn er verschillende bibliotheken ontwikkeld om toch grafische programma's te schrijven die op meerdere besturingssystemen (niet alle) werkt. Zolang je je tot de standaard C++-functies, en de functies in de bibliotheek beperkt is de broncode uit te wisselen.

    Zelf noem je er al drie op, en voor zover ik het weet zijn dit de bekendste. De documentatie van deze bibliotheken kun je al bekijken voordat je voor een bibliotheek kiest: zo kun je ook een inschatting krijgen van de functies van een bibliotheek.

    Over die bibliotheken heb ik nog wat aanvullende opmerkingen:
    [i:84c40623c9]gtk[/i:84c40623c9] is voor zover ik weet een uitbreiding van C. C-bibliotheken werken verder prima in C++. Er zijn ook uitbreidingen op gtk die een klasse-structuur om de bibliotheek heenliggen, zodat je toch het voordeel van de klassen in C++ hebt.
    [i:84c40623c9]qt[/i:84c40623c9] is op dit moment nog geen vrije bibliotheek: voor Linux is deze welliswaar beschikbaar onder de vrije [i:84c40623c9]GPL[/i:84c40623c9]-licentie; om het programma in Windows te compileren moet je een licentie kopen, of op een andere manier verkrijgen (volgens mij bestaat er een boek waarbij een Windows-versie van qt wordt meegeleverd voor niet-commerciëel gebruik). Dit verandert overigens met versie 4, waarbij ook de Windows-versie onder GPL wordt uitgebracht.
    Van [i:84c40623c9]wxwidgets[/i:84c40623c9] weet ik verder niet zoveel.

    Als je het programma verspreid moet je de bibliotheek eisen als afhankelijkheid (zo wordt dat in Linux vaak gedaan) of meeleveren (zo wordt dat in Windows vaak gedaan AFAIK).
  • OK bedankt voor dit zeer duidelijke antwoord. Ik vind dit echter wel een groot nadeel van C++ ten opzichte van Java.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.