社区
Linux_Kernel
帖子详情
请教一个 Linux 的宏定义问题
嵌入式开发
2012-07-18 08:56:56
大家好,在 linux 代码中,有很多类似于“#if __LINUX_ARM_ARCH__ >= 6”这样的定义,请问 __LINUX_ARM_ARCH__ 是在哪里定义的?怎么找也没找到,网上也看了,找了很多次都没找到相关的说明,哪位知道是怎么回事吗?
...全文
270
11
打赏
收藏
请教一个 Linux 的宏定义问题
大家好,在 linux 代码中,有很多类似于“#if __LINUX_ARM_ARCH__ >= 6”这样的定义,请问 __LINUX_ARM_ARCH__ 是在哪里定义的?怎么找也没找到,网上也看了,找了很多次都没找到相关的说明,哪位知道是怎么回事吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fjpaxkm
2012-08-03
打赏
举报
回复
这个问题我也想问啊
嵌入式开发
2012-07-23
打赏
举报
回复
非常感谢大家的帮助,现在已经大致知道该宏定义的值了,谢谢!现在结贴散分!
qq120848369
2012-07-21
打赏
举报
回复
嗯,gcc可以编译时-D指定宏。
Wenxy1
2012-07-20
打赏
举报
回复
Linux kernel没有配置好,运行make menuconfig进行配置对应的硬件平台。
zhoujiawen
2012-07-20
打赏
举报
回复
应该是在make menuconfig配置内核时定义了,
louyong0571
2012-07-19
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
非常感谢大家,尤其是zmlovelx,在arch\arm目录下的makefile中确实找到了类似这样的定义,只是我还有两点不太明白:1. 编译中调用此处的makefile了吗,我现在感觉好像没有,下来再仔细看下。 2. 假如调用了此处的makefile,那么定义处是什么意思,-D是干什么用的,下来再仔细分析下吧。如果您知道,希望能提示一下,否则又可能走很多弯路,谢谢大家!
[/Quote]
-D 就是定义一个宏啊,楼主要看源码makefile什么的要先了解啊。
morris88
2012-07-18
打赏
举报
回复
一般来说,在 make config 会自动检测然后产生的配置文件中定义的
帅得不敢出门
2012-07-18
打赏
举报
回复
这个是在arch下的Makefile中定的。
比如以下是在vim中搜索源码得到的输出,直接贴出来吧:
s3c-linux/arch/arm/Makefile|60| arch-$(CONFIG_CPU_32v7)| | :=-D__LINUX_ARM_ARCH__=7 $(call cc-option ,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
-D__LINUX_ARM_ARCH__=7 这个是以宏定义的形式传到源码中了。
louyong0571
2012-07-18
打赏
举报
回复
一般可能是在config或者makefile里面定义的吧,编译源码的时候做config可能会生成.h文件,也有可能在里面定义。__LINUX_ARM_ARCH__ 看起来像是根据config来定义的宏。你可以试试把config配置ARM的ARCH,可能会生成这个宏。
仅供参考,呵呵。
嵌入式开发
2012-07-18
打赏
举报
回复
非常感谢大家,尤其是zmlovelx,在arch\arm目录下的makefile中确实找到了类似这样的定义,只是我还有两点不太明白:1. 编译中调用此处的makefile了吗,我现在感觉好像没有,下来再仔细看下。 2. 假如调用了此处的makefile,那么定义处是什么意思,-D是干什么用的,下来再仔细分析下吧。如果您知道,希望能提示一下,否则又可能走很多弯路,谢谢大家!
《C深度解析》第二章 C预编译——
宏定义
、条件编译、头文件包含、特殊预编译关键字
课程内容:(1)回顾c预编译(2)
宏定义
:无宏体宏、有宏体宏、带参宏、
宏定义
与复杂表达式。(3)条件编译:#if、#else、#elif #endif、#ifdef和#ifndef、#if与defined、条件编译与配置文件(4)一些特殊的预编译关键字与实际应用:defined、#error、#line、#与##、#pragma (5)文件包含:是否只能包含.h文件,<>与区别等。
linux
内核 丢弃分片包,
LINUX
内核关于IP分片重组
问题
请教
最近研究学习IP分片重组,也拜读了不少dx的阅读理解。可还是有疑问,
请教
xdm。源代码:
linux
-2.4.26\
linux
-2.4.26\net\ipv4\ip_fragment.cIP分片的重组大概经过以下几个函数:0/ ip_defrag1/ ip_find-->ip_frag_create-->ip_frag_intern2/ ip_frag_queue3/ ip_frag_r...
linux
内核 ip分片,
Linux
_
LINUX
内核关于IP分片重组
问题
请教
,最近研究学习IP分片重组,也 - phpStudy...
LINUX
内核关于IP分片重组
问题
请教
最近研究学习IP分片重组,也拜读了不少dx的阅读理解。可还是有疑问,
请教
xdm。源代码:
linux
-2.4.26\
linux
-2.4.26\net\ipv4\ip_fragment.cIP分片的重组大概经过以下几个函数:0/ ip_defrag1/ ip_find-->ip_frag_create-->ip_frag_intern2/ ip_fra...
c++后端相关(加深记忆,抄的github和小林coding)
宏定义
相当于字符替换,而const是常量声明;
宏定义
是预处理器处理,而const是编译器处理;
宏定义
五类型安全检查,而const有类型安全检查;
宏定义
不分配内存,const要分配内存;
宏定义
存在代码段,const存在数据段;析构函数设为私有,类生成对象就只能定义在堆上,因为c++是静态绑定语言,为类对象分配栈空间时,会先检查类析构函数的访问性,若析构函数不能访问就不能在栈上创建对象;第一阶段,使用 new 在堆上寻找可用内存,分配给对象;第二阶段,调用构造函数生成对象。
Linux
下C编程,子进程创建函数fork() 执行解析
最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解。现总结如下: 1.函数本身 (1)头文件 #include<unistd.h> #include<sys/types.h> (2)函数原型 pid_t fork( void); (pid_t 是
一个
宏定义
,其实质是int 被定义在#include<...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章