外部ハードウェア通信を扱うアプリに取り組んでいますが、パッケージのチェックサムの取得に問題があります。(このアプリを作成している間、私はまだオブジェクティブ C を学んでいるので、これについてはまだかなり新しいです。) C で書かれた別のコードでは、チェックサムは次のように計算されました。
byte CalculateCheckSum (byte txcount){
byte local_cs=0;
while(txcount>0){
local_cs+=*x_ptr;
x_ptr += 1;
txcount--;
};
return (~local_cs+1);
}
Objective Cのコードをいくつか使用しようとしました:
u_int8_t synByteSOH[]= {SYN,SYN,SOH,SETSERIALINFO};
- (Byte)CalcCheckSum:(Byte)i
{ u_int8_t synByteSOH[]= {SYN,SYN,SOH,SETSERIALINFO};
Byte local_cs = 0;
int j = 0;
while (i>0) {
local_cs += synByteSOH[j];
i--;
j++;
};
return (~local_cs+1);
}
警告やエラーはありませんが、clang: error: linker command failed with exit code 1 と言われています。そして、どうすれば修正できますか?