问题如图:在VS里边编译通过,NDK编译不通过,原因是C++函数的多层调用,函数参数为另一个函数。
我在编译一个AES算法的时候遇到的问题,我觉得是这个原因。。
这是原来的编译不通过的代码片段:
while (i < 4 * (Nr + 1))
{
temp = w[i - 1]; // ¼Ç¼ǰһ¸öword
if (i % Nk == 0)
w[i] = w[i - Nk] ^ SubWord(RotWord(temp))^ Rcon[i / Nk - 1];
else
w[i] = w[i - Nk] ^ temp;
++i;
}
修改为下边后编译通过:
while (i < 4 * (Nr + 1))
{
temp = w[i - 1]; // ¼Ç¼ǰһ¸öword
if (i % Nk == 0) {
word temp1;
temp1 = RotWord(temp);
w[i] = w[i - Nk] ^ SubWord(temp1) ^ Rcon[i / Nk - 1];
}
else
w[i] = w[i - Nk] ^ temp;
++i;
}