c - 错误: Disallowed system call: SYS_socketcall in C

标签 c compiler-errors

我有一个在 UART 上接收 8 字节数据的函数,我正在使用其中一个数据字节,读取该数据字节并调用一个函数来调制我将要使用的 MP3 编解码器的音量使用。 设置音量的 MP3 编解码器函数有点奇怪,它将声音设置为输入为 0x00,即 100% 音量,如果恰好是 0x64,则为 0%。

现在,LabVIEW固件(由团队中的其他开发人员)设置为如果要将音量设置为100%,则通过UART发送0x64和0x00表示0%正如我上面所说,我要读取的数据字节。

为了避免这篇文章的复杂性,我尝试做的是实现一个简单的 C 代码,该代码将从控制台获取输入并打印处理后的输出。假设如果输入是 0x00,那么输出应该是 0x64,如果输入恰好是 0x64,那么输出应该是 0x00。 以下是我编写的代码,其中出现错误:

Disallowed system call: SYS_socketcall

下面的代码可能看起来效率非常低并且处于非常基础的水平,但这是为了便于理解。

int main(void)
{
   int input = 0x00, output = 0x00, i = 0x00, j = 0x64, var = 0x00;
   int in_arr[100], out_arr[100];

   for(i = 0x00; i < 0x65; i++, j--)
   { 
     out_arr[i] = j;
     in_arr[i] = i;
   }

   printf("Input : ");
   scanf("%x",&input);

   for(var = 0x00; var < 0x64; var++)
   {
     if(input == in_arr[var])
     {
       output = out_arr[var];
       printf("0x%x",output);
       break;
     }
   }
   return 0;
}

最佳答案

for(i = 0x00; i < 0x65; i++, j--)   // Should be i < 0x64

这里i0x65 => 101 起最多可以有 101 个元素(0 到 100)但声明仅包含 100元素。

将其设为 i < 0x64它应该可以工作。

为了避免这种困惑,最好的宏是 #define MAX_ELE 100并使用MAX_ELE0x64 的所有地方.

关于c - 错误: Disallowed system call: SYS_socketcall in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121742/

相关文章:

compiler-errors - 第一次使用VHDL/MODELSIM : can't compile component [(vcom-1576) expecting END.]

c - 警告在没有强制转换的情况下从指针生成整数

c# - C#编译器将相同的标识符视为同一函数中的不同类型。

java - 尽管数组可能尚未初始化,但如何使我的代码编译无错误?

c - 这个程序中的 fread 有什么问题?

c++ - 没有函数模板的实例与参数列表匹配(试图打印数组)

c - C 中出现运行时错误

c - 保护 EEPROM 数据不被修改

c - 错误 - 使用指针对数组中的名称进行排序的 C 程序

c - 迭代 GList 的宏