Wat is het CBP-bestandsformaat?
Een .cbp-bestand is een XML-projectdefinitie die wordt gebruikt door de Code::Blocks open-source IDE. Het slaat alle informatie op die nodig is om een project te bouwen: lijsten met bron- en headerbestanden, compilerselectie, build-doelconfiguraties (Debug, Release), preprocessor-definities, include-paden en linker-flags.
Het bestand begint met een standaard <?xml-declaratie en gebruikt <CodeBlocks_project_file> als hoofdelement. Elk bronbestand wordt vermeld als een <Unit>-element, optioneel met compiler-overrides per bestand. Meerdere build-doelen worden gedefinieerd binnen een <Build>-sectie. De formaatversie wordt bijgehouden via major- en minor-attributen binnen een <FileVersion>-element; Code::Blocks upgradet oudere projectbestanden automatisch bij het opslaan.
Een bijbehorend .layout-bestand wordt naast de .cbp opgeslagen om de UI-status per ontwikkelaar vast te leggen - open tabbladen, cursorposities en breekpunten. Het .layout-bestand moet worden uitgesloten van versiebeheer; alleen de .cbp moet worden gecommit.
Meerdere projecten kunnen worden gegroepeerd met een apart .workspace-bestand. Code::Blocks kan ook projectbestanden importeren uit Visual Studio (.vcxproj) en Dev-C++ (.dev), en deze converteren naar het .cbp-formaat.
Ondersteunde talen zijn onder meer C, C++, Fortran en D (via plug-ins). Code::Blocks draait op Windows, Linux en macOS, en het .cbp-formaat is consistent op alle platforms.
Beveiliging & veiligheid
RISICO: LOWPlat XML-projectbestand. Het openen in Code::Blocks voert geen code uit; build-doelen kunnen verwijzen naar scripts die tijdens het compileren draaien, maar het bestand zelf is onschadelijk.
Formaatdetails
in een notendop- CD Box Labeler Pro projectbestand - Oudere etiketteringssoftware gebruikte .cbp voor zijn labelontwerpprojectbestanden; niet gerelateerd aan Code::Blocks en wordt zeer zelden aangetroffen.
Programma's die CBP-bestanden openen
Technische details
diepe specificaties| XML-hoofdelement | <CodeBlocks_project_file> |
| Magic bytes | 3C 3F 78 6D 6C ("<?xml") op offset 0 |
| Codering | UTF-8 |
| Formaatversie bijhouden | <FileVersion major="N" minor="N"> element; automatisch geüpgraded bij openen in nieuwere Code::Blocks |
| Build-doelen | Debug / Release en aangepaste doelen gedefinieerd onder het <Build>-element |
| Bronbestandsvermeldingen | <Unit filename="...">-elementen met optionele <Option> compiler-overrides per bestand |
| Bijbehorend bestand | .layout slaat UI-status per ontwikkelaar op (open tabbladen, cursorposities); moet worden genegeerd door git |
| Workspace-groepering | .workspace-bestand voegt meerdere .cbp-projecten samen |
| Importmogelijkheden | Leest Visual Studio .vcxproj, Dev-C++ .dev en andere IDE-projectformaten |
| Ondersteunde talen | C, C++, Fortran, D (via compiler-plug-ins) |
| Platform | Windows, Linux, macOS (IDE en formaat zijn cross-platform) |
| Typische grootte | 2 KB - 50 KB |
| Compressie | Geen - platte XML, menselijk leesbaar |
| Uitgebracht | 2005 (Code::Blocks 1.0) |
| Laatste versie | Code::Blocks 20.03 project file format (2020) |
| Specificatie | wiki.codeblocks.org |
CBP conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CBP-bestanden.