Thread C Funktion in perl umsetzen
(16 answers)
Opened by piet at 2015-02-11 13:03
Ich weiß nicht so recht, was ich da tue, aber dieses läuft schonmal irgendwie:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #!/usr/bin/perl use warnings; use strict; use Inline C => <<'END_OF_C_CODE'; #include <stdint.h> SV* normalChecksum8(char *b, int n) { int i; uint16_t a, bb; //Sums bytes 1 to n-1 unsigned to a 2 byte value. Sums quotient and //remainder of 256 division. Again, sums quotient and remainder of //256 division. for(i = 1, a = 0; i < n; i++) a+=(uint16_t)b[i]; bb = a / 256; a = (a - 256 * bb) + bb; bb = a / 256; return newSVpvf("%d", (a-256*bb)+bb); } END_OF_C_CODE print normalChecksum8("3532",2). "\n"; Ist vielleicht doch besser, den C-Code nach Perl zu übersetzen. |