Online C Compiler
Openen in de compiler

Nederlandse leereditie

Turbo C en moderne compilers

Pas oude voorbeelden aan standaard-C aan en houd rekening met platformverschillen.

Openen in de compiler

Turbo C en moderne compilers
Pas oude voorbeelden aan standaard-C aan en houd rekening met platformverschillen.

Turbo C en Turbo C++ horen bij historische DOS-omgevingen. Voorbeelden kunnen andere geheugenmodellen en typegroottes aannemen. Alleen de compilernaam bepaalt niet de taal van een bestand.

Gebruik voor het aanpassen int main(void), standaardheaders en overdraagbare functies. conio.h, clrscr en getch horen niet bij de standaardbibliotheek van C. Voeg geen consolepauze toe als de omgeving die niet nodig heeft.

Met GCC en Clang kun je de standaard kiezen en nuttige waarschuwingen inschakelen. Compileer C als C en C++ als C++: de regels verschillen.

Controleer printf, scanf, arraygrenzen en systeemafhankelijkheden opnieuw. Het doel is gedefinieerd gedrag behouden, niet alleen compilatiefouten laten verdwijnen.

Broncode

#include <stdio.h>

int main(void) {
    printf("========================================\n");
    printf("Modern ISO C17/C23 Environment Diagnostic\n");
    printf("========================================\n");
    printf("Int Size     : %zu bytes (Turbo C was 2 bytes)\n", sizeof(int));
    printf("Pointer Size : %zu bytes (Turbo C was 2/4 bytes segmented)\n", sizeof(void*));
    printf("Long Size    : %zu bytes\n", sizeof(long));
    printf("Status       : Running on High-Speed Modern GCC Sandbox\n");
    return 0;
}
Openen in de compiler

Verwacht resultaat

========================================
Modern ISO C17/C23 Environment Diagnostic
========================================
Int Size     : 4 bytes (Turbo C was 2 bytes)
Pointer Size : 8 bytes (Turbo C was 2/4 bytes segmented)
Long Size    : 8 bytes
Status       : Running on High-Speed Modern GCC Sandbox

Veelgestelde vragen

Waarom blijven code en sommige resultaten Engels?

C-sleutelwoorden, namen, programmacommentaar en verwachte uitvoer blijven gelijk aan het origineel om uitvoerbare code en consistente tests te behouden. Uitleg en instructies zijn vertaald.