【LKM】makefile的支持c99的方法: ccflags-y := -std=c99

2023-11-09

如果写的C代码中,变量的定义在 函数之后,则会warning:

warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

解决办法:

1、正常在gcc中添加 -std=c99即可。例如:

gcc -std=c99 1.c -o 1

2、如果是在Makefile中,添加这一行:

ccflags-y := -std=gnu99 -Wno-declaration-after-statement
# ccflags-y := -std=c99
# 不可以用这个 CFLAGS = -std=c99

参考:

https://stackoverflow.com/questions/15910064/how-to-compile-a-linux-kernel-module-using-std-gnu99/15912046

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【LKM】makefile的支持c99的方法: ccflags-y := -std=c99 的相关文章

  • 我可以在内核代码之外使用 Linux 内核链表吗?

    在内核代码的某些部分使用内核链表之前 我想先使用它 但如果我只是包括list h 由于依赖关系 它不起作用 如何使用列表中的列表编写代码single c文件例如test c 这样我就可以通过编译来测试我的代码test c 期待很快可以收到你
  • 为什么需要汇编来启动任何操作系统内核

    我正在读书如何编写一个简单的操作系统 http mikeos berlios de write your own os html 其中说 对于您的第一个操作系统 您最好坚持使用 MikeOS 中使用的汇编语言 它更加冗长且不可移植 但您不必
  • 在哪里可以找到 Linux 设备驱动程序第三版的示例源文件? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在努力通过Linux 设备驱动程序 第三版 http lwn net Kernel LDD3 虽然这
  • Metal 内核在新款 MacBook Pro(2016 年末)GPU 上运行不正常

    我正在开发 macOS 项目 该项目使用 Swift 和 Metal 在 GPU 上进行图像处理 上周 我收到了新的 15 英寸 MacBook Pro 2016 年末 并注意到我的代码有一些奇怪的地方 应该写入纹理的内核似乎没有这样做 经
  • Linux 内核 - 我可以在不同的函数中锁定和解锁 Spinlock 吗?

    我是内核编程和锁编程的新手 在不同的函数中锁定和解锁自旋锁是否安全 我这样做是为了同步代码流 另外 在 schedule 中使用自旋锁 锁定和解锁 是否安全 让调度程序等待获取锁是否安全 提前致谢 代替spinlock 你可以使用semap
  • 以内核模式运行的进程和以 root 身份运行的进程之间的区别?

    我知道在用户模式下运行的进程和在内核模式下运行的进程之间的区别 基于访问限制 对硬件的访问等 但出于好奇 以内核模式运行的进程与以 root 身份运行的进程有什么区别 内核模式和根是两个独立的概念 彼此之间并不真正相关 以 root 身份运
  • 操作系统如何知道物理内存的实际大小?

    当计算机启动时加载操作系统时 操作系统如何知道硬件信息 是否有一些io指令或引导程序从BIOS获取信息 主板固件 也称为 BIOS ACPI 接口或 EFI 允许操作系统找出系统中 RAM 和 ROM 的物理映射 例如 这是启动 Linux
  • Linux 中的内存区域标志:为什么需要 VM_WRITE 和 VM_MAYWRITE?

    Mel Gorman 的 Understanding the Linux Virtual Memory Manager 2007 年 这是本书章节链接 https www kernel org doc gorman html underst
  • 如何测量 Linux 中的真实 CPU 使用率?

    我知道有类似的工具top and ps用于测量 CPU 使用率 但他们测量 CPU 使用率的方法是测量空闲任务未运行的时间 因此 例如 即使 CPU 由于缓存未命中而出现停顿 这些工具仍然会认为 CPU 被占用 然而 我想要的是分析工具在停
  • 为什么使用 __get_free_pages() 进行顺序为 10 或 11 的页面分配通常会失败?

    我的系统内存充足 24GB的服务器 在我的系统中 内核空间分配了320MB和120MB用于崩溃内核 其余的内存用于其他目的 但是 当我使用 get free pages 分配顺序为 11 的连续页 内核无法分配 2 10 页 为什么 根据制
  • 在Linux中,属于内核数据段的物理内存页是否可交换?

    我这样问是因为我记得属于内核的所有物理页面都固定在内存中 因此是不可交换的 就像这里所说的 http www cse psu edu axs53 spring01 linux memory ppt http www cse psu edu
  • Windows 驱动程序时间戳函数

    我正在修改现有的 Windows 内核设备驱动程序 并且需要在其中捕获时间戳 我打算使用 time h 库并调用 Clock 函数来实现这一点 但是在 Windows Visual Studio 下 链接失败 所以我把它作为我需要在驱动程序
  • 抢占和上下文切换的区别

    一点介绍 我目前正在编写一个小型 读微型 RTOS 内核 它应该与内核中的大多数内容是一体的 然而 我找不到关于下面列出的一些事情的太多信息 这会很有帮助 除此之外 它实际上不是某种大学项目 而是我按照自己的意愿做的事情 回答所有问题的一个
  • 来自task_struct的完整进程名称

    我想从中获取完整的进程名称struct task struct The comm字段仅存储 16 个字符 而进程名称可以更长 有没有办法获得完整的进程名称 这可以通过获取来完成struct vm area struct from task
  • 如何使用 conda 卸载 r-essentials?

    最近 我安装了r essentials using conda命令 conda install c r r essentials正如这个网址中所描述的 https anaconda org r r essentials https anac
  • 尝试映射大页面 (1GB) 时 mmap 失败

    我做了什么 使用 root 启用大页 我的系统支持 1MB 大页 echo 20 gt proc sys vm nr hugepages 将大页文件系统挂载到 mnt hugepages mount t hugetlbfs nodev mn
  • 在中断时获取 current->pid

    我正在Linux调度程序上写一些东西 我需要知道在我的中断到来之前哪个进程正在运行 当前的结构可用吗 如果我在中断处理程序中执行 current gt pid 我是否可以获得我中断的进程的 pid 你可以 current gt pid存在并
  • 没有设备的设备驱动程序?

    我正在创建一个需要使用一些内核级模块的应用程序 为此我将应用程序分为 2 个 一个用户级程序和一个内核级程序 在阅读了有关设备驱动程序并浏览一些教程后 我有点困惑 是否可以存在没有任何特定设备与之关联的设备驱动程序 除了设备驱动程序 内核代
  • 选择 c 和 gamma 值

    您好 我正在使用 SMO 执行 SVM 分类 其中我的内核是 RBF 现在我想选择c and sigma值 使用网格搜索和交叉验证 我是内核函数的新手 请帮助 一步一步的过程 选择一些您认为有趣的 C 和 sigma 值 例如 C 1 10
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我

随机推荐

  • 通过Valgrind的Massif工具进行C++内存使用分析

    关于Valgrind的简介可以参考 https blog csdn net fengbingchun article details 50196189 Valgrind在Ubuntu上的安装可以参考 https blog csdn net
  • 【ARM】使用Ubuntu-base构建根文件系统

    使用Buildroot构建根文件系统 介绍 资源下载 配置根文件系统 设置软件源 安装必要软件 添加新用户 设置主机名称和本机IP 设置终端串口 网络DHCP FTP服务器搭建 串口无法登录 开机启动信息显示 Failed to inser
  • 硕士毕业生找工作经验体会(怎样才能说服你面前的HR)

    下个月就要离开交大了 这个我呆了将近7年的地方 最后想留下一点关于找工作方面的经验体会 从05年考研结束的时候开始找工作 之后知道研究生录取之后找实习 一直到07年正式找工作 期间我接触过很多行业 很多人 很多职位 从一开始 我就听无数人在
  • JavaEE 笔记01: 基于Tomcat, Servlet, JSP的简单作业管理系统

    基于Tomcat Servlet JSP的简单作业管理系统 目录 基于Tomcat Servlet JSP的简单作业管理系统 前言 2020年3月25日更新 2020年3月26日更新 2020年4月8日更新 2020年4月16日更新 202
  • 深聊性能测试,从入门到放弃之:Locust性能自动化(六)自定义生成负载图形形状

    自定义峰值形状 1 引言 2 定义 2 1 列举实例 2 2 如何继承 2 3 方法使用 3 代码实战 3 1 时间峰值 3 2 双波形 3 3 基于时间阶段 3 4 逐步加载 1 引言 今天分享的这部分内容 应该算是Locust的进阶篇
  • c++迭代器失效

    下面材料整理自Internet 著作 STL中的容器按存储方式分为两类 一类是按以数组形式存储的容器 如 vector deque 另一类是以不连续的节点形式存储的容器 如 list set map 在使用erase方法来删除元素时 需要注
  • Ubuntu 设置时区

    我们要设置成 CST 时区 以保证正确地显示日期 时间 我们常看到的时区有如下几个 PST 美国太平洋标准时间 PST GMT 8 GMT 格林尼治平均时间 等同于英国伦敦本地时间 UTC 通用协调时间 UTC GMT CST 北京时间 北
  • MVC 网上招聘系统的设计与实现java jsp 程序设计 课程设计 毕业设计-附源码02135

    因上传问题 只上传了文案 图片未上传 网上招聘系统的设计与实现 摘 要 随着时代的发展 中国的互联网技术愈加成熟 已经有越来越多的社会群体开始学会使用互联网技术 整个社会正在朝着智能化 信息化的方向前进 有了互联网 用户便可以足不出户地利用
  • 【转载】版本管理软件综述(VSS及其他)

    版本管理软件综述 VSS的使用 http www cnblogs com liuchaogege p 4465652 html 什么是版本控制 1 怎样对研发项目进行整体管理 2 项目开发小组的成员之间如何以一种有效的机制进行协调 3 如何
  • Latex图片格式——从png,jpg,jpeg等导出到eps

    Latex图片格式 从png jpg jpeg等导出到eps Windows 在安装了texlive的情况下 应该都安装了 不然怎么编译latex文档嘞 在图片文件夹运行cmd 输入 bmeps c test png test eps 完成
  • vue el-table展开需要绑定row-key

  • openGLES3.0编程指南源码运行

    前言 openGLES3 0编程指南随书源码环境配置和例子运行 在这篇文章中 笔者给出了官网例子配置和运行 但是我自己新建的单独工程源码正确 但依然无法运行程序 遇到的坑 印象深刻 记录一下 错误做法 openGL ES Emulator
  • windows powershell 里怎么从C盘跳到D盘?

    直接在C根目录时输入d 进入其他盘同理 PS C gt d
  • 关于SAR的研究热点——几点思考

    关于SAR的研究热点 几点思考 SAR研究热点之一 新体制论证 SAR系统设计追求的目标 图像质量高 空间和辐射分辨率高 成像幅宽大 具备多模式 扫描 可变入射角条带 斜视 聚束 多波段 全极化 三维成像 动目标检测与成像能力 对平台运动姿
  • 今日头条自媒体矩阵运营攻略

    你今天通常做什么 许多人用它来娱乐八卦 寻找乐趣 并打发时间 但对于媒体和品牌来说 它是一个非常好的操作平台 基于媒体矩阵标题数量的改进及其独特的推荐机制 公司传播品牌 打造个人品牌非常友好 今天我们讨论了标题号如何快速建立个人品牌的综合潜
  • Hexo一些实用的插件

    Hexo的插件真是个好东西 一开始部署博客的时候并没有太在意插件的问题 毕竟觉得博客主题自带的插件挺全面的 足够使用了 但是用久了总是会腻 就想着静态博客能不能整一些新操作 即使只是添加点小功能 于是就翻了翻 Hexo 的插件目录 挑了些比
  • Android BLE学习笔记

    http blog csdn net xiaoyaoyou1212 article details 51854454 个人网站 http www xiaoyaoyou1212 com 欢迎吐槽围观 前言 本文主要描述Android BLE的
  • 链式基数排序(第十章 P286 算法10.15,10.16,10.17)

    链式基数排序 概述 基数排序 radix sort 属于 分配式排序 distribution sort 基数排序也叫做多关键字排序 基数排序是一种借助 多关键字排序 的思想来实现 单关键字排序 的内部排序算法 多关键字排序的方法 n 个记
  • fastjson 重复引用和循环引用问题

    数据传输使用json格式再方便不过了 fastjson 由阿里巴巴那伙人使用Java语言编写 号称最快的JSON库前两天遇到一个问题 后台的数据转化为json字符串后发送到前台出现了 ref字样的东西 后来明白了这是引用 在传输的数据中出现
  • 【LKM】makefile的支持c99的方法: ccflags-y := -std=c99

    如果写的C代码中 变量的定义在 函数之后 则会warning warning ISO C90 forbids mixed declarations and code Wdeclaration after statement 解决办法 1 正