Signalhandler

Mal 3 Zeilen um Signale zu verarbeiten. Wichtig ist hierbei das SIGKILL nicht blockierbar ist (SIGTERM übrigens auch nicht ;-) )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
 
void sig_handler(int signum)
{
	printf("Fetched Strg+cn");
	exit(1);
}
 
int main (int argc, char const *argv[])
{
	/*catch SIGINT (strg+c)*/
	signal(SIGINT,sig_handler);
	while(1);
	return 0;
}

Flattr this!

DSerial Edge – I Finally Did it!

DSerial Edge

Mein DSGPS Projekt hat einen neuen Status!

Ich habe mir heute die DSerial Edge bestellt. Die erweitert den DS um 2 UARTS und 18 GPIOS. Eigentlich ist das ding total over-sized um einfach nur ein GPS Endgerät an der DS anzuschließen, aber vielleicht kann man das ja mit ein paar Sensoren kombinieren (Temperatur,Druck,Licht usw).

Flattr this!

4gb!

haz_4gb.png

4GB flüchtiger Speicher. Wenn ich daran denke, dass ich damals bei meiner ersten 1GB Festplatte geglaubt hatte diese nie voll zu bekommen… Da kann man dann doch schon fast nostalgisch werden ;-)

Vor allem bei der Nutzung von VMWare ist der Unterschied massiv spürbar. Vorher ist das Hostsystem (in meinem Fall OSX) regelmäßig eingefroren (Wenn auch nur kurz). Ohne jetzt ins Windowsbashing zu verfallen muss ich aber hier anmerken, dass bei der virtuellen Win-Maschine diese Aussetzer im Gegensatz zu allen anderen VM-Guests wesentlich länger waren.

Aber selbst mit zwei gestarteten Virtuellen Maschinen (beide haben 1042MB Ram zugewiesen bekommen) ist jetzt noch flüssiges Arbeiten möglich.

Bei der Gelegenheit hab ich gemerkt das Fusion jetzt auch den Unity-Modus für Ubuntu unterstützt. Man schaue und staune:

weee-1.png

Flattr this!

C Variablen tauschen

Der Klassikertrick. Durch XOR Verknüpfungen eine Variable sparen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
 
int main (int argc, char const *argv[])
{
	int a = 1;
	int b = 2;
 
	printf("Start:  a:%i b:%in",a,b);
	a=a^b;
	printf("a=a^b:  a:%i b:%in",a,b);
	b=a^b;
	printf("b=a^b:  a:%i b:%in",a,b);
	a=a^b;
	printf("a=a^b3: a:%i b:%in",a,b);
	return 0;
}

Flattr this!