文章目录

  • 作用
  • GCC __ASSEMBLER__
    • 参考
    • 例子
    • gcc/libcpp
    • 历史
  • kernel __ASSEMBLY__
    • 实例

这里探讨一下这两个宏定义的作用

作用

就是有些header文件,会被C源文件使用,同时也会被汇编语言文件使用到。这时需要将asm编译链接时特有的定义分开。此时就产生了这个宏。

GCC ASSEMBLER

参考

https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html#Standard-Predefined-Macros
这个算是标准预定义的宏。

例子

sysdeps/mach/sysdep.h,,这个文件,在.S 和.c 文件 都会使用到。

gcc/libcpp

gcc里在处理汇编文件时默认有的一个宏定义;
cpp_init_builtins :

gcc: libc: __ASSEMBLER__; Kernel: __ASSEMBLY__相关推荐

  1. ubuntu安装过程中提示: the path is not vaild path to the gcc binary等gcc路径不对和kernel不存在?

    在VMware虚拟机上安装好linux系统后,发现往往不能全屏,也不能设置共享文件夹进行文件共享,这时候可以通过安装VMwareTools这个工具来实现文件拖拽.共享和全屏. 安装的过程不再赘述,关键 ...

  2. 设置PSPad调用devcpp中的mingw Gcc进行编译;另附PSPad中文版一个BUG的解决方法

    PSPad是一个优秀的代码编辑工具,和UE相比,功能丝毫不弱,而且PSPad是免费的,这是最重要地,没有版权问题了. 前面曾说过安装DEV-CPP后,用命令行及UltraEdit调用devcpp中的m ...

  3. LWN: kernel中GCC plugin的未来命运!

    关注了就能看到更多这么棒的文章哦- The future of GCC plugins in the kernel April 1, 2021 This article was contributed ...

  4. armgcc交叉编译的文件无法运行_认识GCC交叉编译器

    一.GCC 简介 GCC(GNU Compiler Collection)是一套功能强大.性能优越的编程语言编译器,它是GNU计划的代表作品之一.GCC 是 Linux 平台下最常用的编译器,GCC ...

  5. 交叉编译器的命名规则及详细解释(arm/gnu/none/linux/eabi/eabihf/gcc/g++)

    在linux系统下搞嵌入式开发,交叉编译器那肯定是必备工具.用的场合多了,就会见到各种各样的编译工具,比如: arm-linux-gcc arm-linux-gnueabi-gcc arm-none- ...

  6. gcc -fpic 和 -fPIC 参数问题

    gcc -fpic 和 -fPIC 参数问题 目的:生成位置无关的代码. 位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可 ...

  7. linux环境变量、交叉编译工具链gcc

    ** linux环境变量 ** 1.linux环境变量 Linux 是一个多用户操作系统,每个用户都有自己专有的运行环境.用户所使用的环境由一系列变量所定义,这些变量被称为环境变量.系统环境变量通常都 ...

  8. Linux缩写汇总;电信

    文章目录 A C D F H I L M N P s T U V http://linfo.org/main_index.html A ABI: Application Binary Interfac ...

  9. [linux kernel]内核移植过程记录

    系统版本:Ubuntu18.04-64 编译器版本:gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) uboot版本:2018.07 - ...

  10. 在联盛德W600 SDK上添加C文件并实现GCC编译

    以下基于官网上最新的3.04版本(http://www.winnermicro.com/html/1/156/158/497.html)的SDK WM_SDK_W60X_G3.04.00 为例来详细说 ...

最新文章

  1. ES JVM使用如果超过75%就会GC较多,导致ES索引性能下降
  2. JavaScript学习笔记(4)
  3. 26Java中的多态
  4. SpringBoot、mysql配置PageHelper插件
  5. xxx定律-poj-3782
  6. 从714里连续减去6减几次得0_数学干货 | 小学数学1—6年级基础知识整理 ,预习复习都能用...
  7. 计算机应用基础操作题提示,计算机应用基础_操作题文字提示(已经放大了请不要打印).doc...
  8. Struts2 Hibernate集成示例教程
  9. Spring Boot 2 快速教程:WebFlux 集成 Thymeleaf(五)
  10. Ubuntu chmod 命令
  11. [Java][Liferay] 模拟用户
  12. 使用授权许可文件key激活卡巴斯基的方法
  13. python滑稽脸_使用python的turtle绘画滑稽脸实例
  14. linux 图形验证码不显示不出来的,linux下图形验证码显示问题
  15. 中间件系列六 RabbitMQ之Topic exchange 用法
  16. STM32控制0.96寸OLED(4针/4Pin)汉字以及数字,英文显示
  17. Android Gradle Plugins系列-02-Maven Publish 插件踩坑指南
  18. HTML5期末大作业:动漫A网站设计——动画漫展学习资料电影模板(6页) 网页设计作业 _ 动漫网页设计作业,网页设计作业 _ 动漫网页设计成品,网页设计作业 _ 动漫网页设计成品模板下载
  19. Tyvj P1288 飘飘乎居士取能量块
  20. 计算机映像缺失磁盘如何修复,重装Win10系统找不到硬盘的解决方法

热门文章

  1. 遇到问题你的PIN不可用,请单击以重置和bitlocker恢复密匙
  2. 谷歌邮箱服务器该怎么填,谷歌游戏怎么写 谷歌邮箱格式_游侠手游
  3. 读书202101『股票大作手回忆录』
  4. [电影]《指环王》新老三部曲完全赏析(魔戒再现)
  5. Tensorflow 中padding 的“SAME” 和“VALID” 详解
  6. ComboBox 智能过滤,模糊匹配,拼音首字母匹配
  7. yolov5的首次colab运行
  8. 关于CalendarUtil获取时间的工具类
  9. 直播网站服务器带宽多少合适,开直播网速要求(开直播要多少兆宽带)
  10. 如何防止别人QQ群话题发广告和批量QQ群发Q群话题