`
koliy
  • 浏览: 149001 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux编译内核关于semaphore.h头文件的问题

 
阅读更多
编译wifi的驱动,有时候会提示以下错误信息:
error: field 'sem_req' has incomplete type
error: field 'sem_async' has incomplete type
error: implicit declaration of function 'up'
error: implicit declaration of function 'down_interruptible'
。。。。

原因是linux内核升级之后,关于semaphore的头文件变了。修正这个错误很简单,只要在报错的文件中加入正确的头文件
#include <linux/semaphore.h>
不是 <asm/semaphore.h>了。
分享到:
评论

相关推荐

    Linux驱动头文件

    8. `&lt;linux/kernel.h&gt;`:通用内核头文件,包含了许多内核内部定义和宏。 9. `&lt;linux/slab.h&gt;`:内存管理,定义了`kcalloc`和`kzalloc`等内核内存分配函数。 10. `&lt;linux/uaccess.h&gt;`:提供`copy_to_user`和`copy_...

    Linux C函数参考手册.rar

    2. **头文件与预处理器**:在Linux C编程中,常用头文件如`&lt;stdio.h&gt;`、`&lt;stdlib.h&gt;`、`&lt;string.h&gt;`和`&lt;unistd.h&gt;`提供了标准输入/输出、内存管理、字符串操作和基本I/O等功能。预处理器指令如`#include`、`#define`...

    Linux C操作手册

    2. **预处理器**:C语言的预处理器处理宏定义、包含头文件(如`&lt;stdio.h&gt;`、`&lt;stdlib.h&gt;`)以及条件编译指令(如`#ifdef`、`#ifndef`、`#endif`)。 3. **内存管理**:在Linux中,C程序员需要理解如何动态分配和...

    linux程序设计第4版code.rar

    3. **头文件和库**:在Linux下,程序通过包含头文件来使用系统功能,如&lt;stdio.h&gt;用于输入输出,&lt;unistd.h&gt;包含了常用的系统调用。同时,库文件(如libc库)提供了许多便利的功能。 4. **系统调用**:Linux程序直接...

    linux下C编程完全手册

    4. **头文件与库**:Linux提供了丰富的标准库和系统调用,如`stdio.h`(输入输出)、`stdlib.h`(通用功能)、`unistd.h`(Unix接口)等。理解如何包含头文件,使用这些库函数进行I/O操作、内存管理、系统交互等。 ...

    bram_driver_linux_源码.zip

    3. `bram.h`:驱动程序头文件,包含BRAM设备的相关结构体、函数声明和常量定义。 4. `Kconfig`:配置文件,让Linux内核配置工具知道如何启用或禁用此驱动程序。 5. `Documentation`:可能包含关于如何使用、安装和...

    linux系统编程源代码

    6. **系统调用**:源代码可能包含了大量对Linux系统调用的直接使用,如syscalls.h头文件中的定义,如sys_open、sys_write等,这有助于理解内核如何响应用户空间的请求。 7. **设备驱动编程**:Linux系统编程还包括...

    LinuxC编程一站式学习

    6. **文件操作**:在Linux环境下,C语言可以利用`&lt;fcntl.h&gt;`、`&lt;stdio.h&gt;`和`&lt;unistd.h&gt;`头文件进行文件的打开、读写、关闭等操作。理解文件描述符、文件权限和文件定位的概念。 7. **系统调用**:Linux提供了丰富...

    Linux-Kernel-Examples:示例Linux内核模块源代码-linux kernel source code

    3. .h文件:头文件通常包含了模块需要的函数声明、数据结构定义和其他常量。 4. .config:可能包含了针对特定内核版本的配置选项,用于编译内核模块。 通过分析这些示例,你可以学习到以下关键知识点: 1. **内核...

    linux 程序设计 源码

    2. **头文件和库**:在Linux下,C语言编程通常需要包含特定的头文件,如&lt;stdio.h&gt;、&lt;stdlib.h&gt;和&lt;unistd.h&gt;等,它们提供了系统调用和函数声明。同时,了解标准C库和GNU C库中的函数,如内存管理函数malloc()和free()...

    Linux下C编程 Linux下C编程

    - **Linux特定头文件**:如`&lt;linux/types.h&gt;`、`&lt;sys/socket.h&gt;`等,提供Linux特有的系统调用和结构体。 3. **文件I/O**: - 使用`fopen()`、`fwrite()`、`fprintf()`等函数进行文件读写操作。 - `open()`、`...

    linux 下的C编程的代码

    3. **文件操作**:Linux系统中,C语言通过`&lt;fcntl.h&gt;`、`&lt;stdio.h&gt;`等头文件提供的函数可以进行文件的打开、读写和关闭等操作。例如,`fopen()`、`fprintf()`、`fread()`、`fwrite()`和`fclose()`等。 4. **系统...

    linux常用引用程序教程

    2. **头文件和库**:Linux提供了大量的系统头文件和库,如`stdio.h`(标准输入输出)、`unistd.h`(UNIX标准函数)和`stdlib.h`(通用实用函数)。C程序员需要了解如何包含这些头文件并正确使用对应的函数。 3. **...

    Linux_kernel_coding_style.rar_linux coding style_style

    15. **编译警告**:Linux内核要求所有代码在编译时没有警告,以确保代码质量。 这些规范构成了Linux内核编码风格的基础,对于理解并参与到Linux内核的开发中至关重要。遵循这些规则,可以使代码更加清晰、一致,...

    精通LinuxC编程源代码

    3. **标准库和头文件**:在Linux C编程中,我们经常使用标准C库(如`stdio.h`、`stdlib.h`等)以及特定于Linux的头文件(如`unistd.h`、`sys/socket.h`等)来获取函数和宏定义。 4. **文件和I/O操作**:Linux系统中...

    kernel_modules:linux内核模块编程示例程序

    - 在模块中,必须包含`&lt;linux/module.h&gt;`,`&lt;linux/kernel.h&gt;`等头文件以获取必要的函数和数据结构定义。 - 模块需要定义`module_init()`和`module_exit()`宏来指定初始化和退出函数。 4. **函数接口**: - `...

    Linux C编程一站式学习

    Linux还提供了丰富的头文件和库,如&lt;stdio.h&gt;、&lt;stdlib.h&gt;等,供C程序员使用。例如,利用&lt;stdio.h&gt;可以进行输入输出操作,&lt;stdlib.h&gt;包含了内存管理和数学函数。同时,学习如何使用系统调用,如open()、read()、...

    Linux操作系统C语言编程入门pd

    在Linux中,需要理解标准库如`stdio.h`、`stdlib.h`等,以及系统特定的头文件如`unistd.h`。 3. **标准输入输出**:在Linux中,C程序通常通过`stdin`(标准输入)、`stdout`(标准输出)和`stderr`(标准错误)进行...

    Linux程序设计

    5. **头文件和库**:了解如何包含Linux系统头文件,如`&lt;unistd.h&gt;`、`&lt;stdlib.h&gt;`、`&lt;sys/types.h&gt;`等,使用系统调用接口。掌握动态链接和静态链接库的区别,如`-l`选项链接库。 6. **进程与线程**:理解进程...

    深入浅出Linux_设备驱动编程

    - `#include &lt;linux/module.h&gt;` 和 `#include &lt;linux/init.h&gt;` 是每个模块都需要包含的基本头文件。 - `MODULE_LICENSE("GPL")` 定义了模块的许可协议。 - `hello_init()` 函数定义了模块初始化时执行的操作。 - `...

Global site tag (gtag.js) - Google Analytics