Small-C на RetroBSD
2012-12-04 00:25В RetroBSD заработал компилятор Small-C. Фитюлинка постепенно превращается в самодостаточную платформу для разработки. Качество кода компилятора не ахти: примерно в три раза тормознутее, чем GCC без оптимизации. Но библиотеки вполне полноценные, имеется нормальный ассемблер, линкер, архивер и прочее в комплекте.

Следующая цель - затащить полновесный компилятор LCC.
Выглядит примерно так:

Следующая цель - затащить полновесный компилятор LCC.
Выглядит примерно так:
2.11 BSD Unix for PIC32, revision 763:764 build 1:
Compiled 2012-12-04 by vak@tundra.local:
/Users/vak/Project/retrobsd/trunk/sys/pic32/max32
cpu: 795F512L 80 MHz, bus 80 MHz
oscillator: HS crystal, PLL div 1:2 mult x20
console: port UART1
sd: port SPI4, select pins D3, D4
sd0: type I, size 16384 kbytes, speed 13 Mbit/sec
phys mem = 128 kbytes
user mem = 96 kbytes
root dev = (0,0)
root size = 16384 kbytes
swap dev = root, offset 65
swap size = 2048 kbytes
/dev/sd0: 442 files, 9522 used, 6797 free
Starting daemons: update
2.11 BSD UNIX (pic32) (console)
login: root
Password:
Welcome to RetroBSD!
erase, kill ^U, intr ^C
# cd share/smallc
# cat primelist.c
/*
* Print the list of prime numbers up to 100.
*/
main()
{
int n;
for (n=2; n<100; ++n) {
if (isprime(n)) {
printf("%d ", n);
}
}
printf("\n");
}
isprime(n)
int n;
{
int j;
if (n == 2)
return 1;
if (n % 2 == 0)
return 0;
for (j=3; j*j<=n; j+=2)
if (n % j == 0)
return 0;
return 1;
}
# make primelist
scc -o primelist primelist.c
# size primelist
text data bss dec hex
17376 980 60 18416 47f0
# ./primelist
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
# _
Привет!
Date: 2012-12-10 23:03 (UTC)В наше время орудием пролетариата может быть только тонкий троллинг.
В министры нет смысла. Вот Северов попробовал, а толку.