小编foo*_*o_l的帖子

Linux中的固件和驱动程序

根据我的理解,固件控制硬件,驱动程序与固件交互以控制硬件.那是对的吗?

在Linux中,与固件交互的API或功能是什么?固件代码是否独立于任何操作系统(例如Linux或Windows)?

linux firmware linux-device-driver linux-kernel

6
推荐指数
1
解决办法
5606
查看次数

可以用fopen打开URL

fopen("tftp://1.1.1.1/file.txt","rb");有效的声明吗?可以使用fopenC编程打开网址吗?

c linux file-io fopen

6
推荐指数
2
解决办法
3985
查看次数

如何检查c中是否存在文件

我有生成的核心文件,其pid附加到其名称或有时只有名称核心.我需要检查文件是否存在名称core.pidcore.我尝试使用stat()路径字符串的地方/tmp/core*,但失败了.能告诉我如何解决这个问题.谢谢你的时间.

c linux filesystems

4
推荐指数
1
解决办法
4万
查看次数

初始化struct指针

typedef struct
{
  char *s;
  char d;
}EXE;
EXE  *p;
Run Code Online (Sandbox Code Playgroud)

对于上面struct我如何用指针初始化结构?我知道我们做的非指针EXE a[] = { {"abc",1}, {"def",2} };.同样在分配内存后是否可以使用指针?说得像p[] = { {"abc",1},.. so on}.基本上我想动态初始化.谢谢.

c struct initialization

3
推荐指数
1
解决办法
1万
查看次数

memset行为

我需要你帮助理解memset行为.

char *data = malloc(40);
memset(data,1,40);
Run Code Online (Sandbox Code Playgroud)

当我看到数据内容时,它是010101010101010直到大小结束.然后我改为这个.

memset(data,~0,40);
Run Code Online (Sandbox Code Playgroud)

我看到正确的内容为11111111直到结束.将值设置为1和~0之间的区别是什么.谢谢你的时间.

c string

1
推荐指数
1
解决办法
885
查看次数

如何发送带填充字段的结构?

我有一个12字节的数据包要发送的形式:

+--------+------+
| ID     | ver  |
+--------+------+

ID是8个字节,ver是4个字节.我已经声明了一个结构如下,但我的PC给了我一个16字节的大小值(8 + 4 + 4字节的填充).#pragma解决了这个问题,但有什么方法可以解决这个问题吗?

struct pak
{
  char *ID;
  uint32_t ver;
};
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
96
查看次数

高效的函数调用

我需要你的帮助来编写一个有效的程序.

我有大约50个函数说call_1(),call_2()... call_50().我需要根据从数据包中读取的索引来调用它们,即如果数据中的字段需要调用25 call_25(),那么10 call_10().

如果其他情况如此,我已经写过这个

if (index == 5) 
    call_5() 
elseif (index == 6)
   ..so on .. 
Run Code Online (Sandbox Code Playgroud)

但我认为这不是有效的写作方式.实现这种情况的任何其他想法?函数指针可以帮助吗?感谢您的帮助.谢谢.

c

0
推荐指数
1
解决办法
109
查看次数

随机数创建

我需要100在一个大小为5000的数组中生成随机索引arr[5000].我认为rand()将使用更多的CPU,所以我不想循环它100次.我只想调用它一次,并希望有机制来获得随机数组索引.我的想法是为前20个索引提供随机值,并生成偏移量并继续添加到生成的随机值.即如果10是前20个指数的随机值,那么如果说偏移量6那么我的随机数就会是10,16,22,28...etc 你认为这是个好主意吗?你能推荐一下吗?谢谢.

c random random-sample

0
推荐指数
1
解决办法
85
查看次数