Code:
/*****************************************************************************
Dateiname: test.c
Projekt: Ausgabe der Bytelaengen aller Variablentypen.
Funktionen
----------
main()
Hauptschleife. Bedienung/Auswahl der Funktionen
Taste N: Nach dem Loslassen irgendeiner gedrueckten Taste wird die
benutzte Byteanzahl aller Datentypen ueber IR ausgegeben.
Version Datum Autor / Kommentar
------- ---------- ------------------------------------------------------
V001 14.06.2006 Sternthaler
Startversion
Copyright (c) 2006 Sternthaler
*****************************************************************************/
#include <stdio.h>
#include <string.h>
#include "asuro.h"
/*
Lokale Funktionsdeklarationen
*/
/*
Sourceglobale Variablen
*/
/*
Lokale defines
*/
/*****************************************************************************
*/
int main (void)
{
char v_char;
unsigned char v_u_char;
short v_short;
unsigned short v_u_short;
int v_int;
unsigned int v_u_int;
long v_long;
unsigned long v_u_long;
float v_float;
double v_double;
int8_t v_int8;
uint8_t v_uint8;
int16_t v_int16;
uint16_t v_uint16;
int32_t v_int32;
uint32_t v_uint32;
int64_t v_int64;
uint64_t v_uint64;
unsigned char sw;
char text [100];
Init ();
while (1)
{
sw = PollSwitch ();
while (PollSwitch ())
;
if (sw)
{
strcpy (text, "Speichergroessen der verschiedenen Datentypen in Byte\n\r");
SerWrite ((unsigned char *)text, strlen (text));
strcpy (text, "\n\r--> Integer (Ganzzahl)\n\r");
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " char : %d\n\r", sizeof (v_char));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, "unsigned char : %d\n\r", sizeof (v_u_char));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " int : %d\n\r", sizeof (v_int));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, "unsigned int : %d\n\r", sizeof (v_u_int));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " short : %d\n\r", sizeof (v_short));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, "unsigned short : %d\n\r", sizeof (v_u_short));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " long : %d\n\r", sizeof (v_long));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, "unsigned long : %d\n\r", sizeof (v_u_long));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " int8_t : %d\n\r", sizeof (v_int8));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " uint8_t : %d\n\r", sizeof (v_uint8));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " int16_t : %d\n\r", sizeof (v_int16));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " uint16_t : %d\n\r", sizeof (v_uint16));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " int32_t : %d\n\r", sizeof (v_int32));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " uint32_t : %d\n\r", sizeof (v_uint32));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " int64_t : %d (nur ohne compiler option -mint8)\n\r", sizeof (v_int64));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " uint64_t : %d (nur ohne compiler option -mint8)\n\r", sizeof (v_uint64));
SerWrite ((unsigned char *)text, strlen (text));
strcpy (text, "\n\r--> Floating (Flieskomma)\n\r");
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " float : %d\n\r", sizeof (v_float));
SerWrite ((unsigned char *)text, strlen (text));
sprintf (text, " double : %d\n\r", sizeof (v_double));
SerWrite ((unsigned char *)text, strlen (text));
}
}
return 0;
}
Gruß Sternthaler
Lesezeichen