linux参数传递
来源:互联网 发布:tensorflow 滑动平均 编辑:程序博客网 时间:2024/05/15 19:11
前几天在看vivi的代码的时候,发现在main.c中设置要传递给LINUX的一些参数的时候是经过一系列的调用使用了para_struct这个结构体进行的,当时一看头文件,并没有发现哪个里面有定义了这个结构体,用source insight来搜索整个VIVI工程同样没有搜索到,事实上这个结构体也是在LINUX内核中定义的。所以一直纠结怎么可以编译通过,而网上看了很久也就一个人提出了这个问题,但是没有找出原因。回头分析来想,要么这个结构提在编译的时候加入(不合理),要么上一个关键字一样的概念(不可能有这样的关键字),那么还是应该在哪里定义的,只有这样三种情况。既然是在LINUX中有定义,那么可能是通过什么语句将LINUX库中这个文件给包含进来了,既然C文件里没有,那么可能在MAKEFILE中有猫腻,这样想到在设置编译选项的时候是有一个INCLUDE LINUX目录的过程,估计是那个时候包含进来的,但是就没有再去进一步缕清楚。
今天白天在实验室跟赵老师说起这个事情,他也说不能没有定义的,结果继续找,果然在定义setup_linux_param(ulong param_base)这个函数的文件中,看到了#include <setup.h>,打开setup.h:#include <asm/setup.h>,再联系Makefile中LINUX的一个目录被设置为搜索目录/opt/host/armv41/include,那么在LINUX的这个目录中去找到asm/setup.h,果然在那里定义的。
可以看出, vivi的编译是离不开LINUX内核的,除非把那些LINUX中类似这个结构体这样的定义全部在VIVI中重新定义。所以以前在网上看到的一些人的移植笔记说VIVI中/opt/host/armv41/include这个编译项的设置可以是不需要的完全是不对的,还有些人就机械地按照别人的移植步骤来将这个选项改成自己对应的,却不是很清楚为什么要这样做。
看来还是仔细再仔细,引以为戒。
- linux参数传递规则
- linux参数传递
- Linux参数传递
- linux shell 参数传递
- linux shell参数传递
- linux模块传递参数
- linux xargs传递参数
- Linux内核参数传递Tag
- Linux内核参数传递Tag
- 为linux传递内核参数
- Linux内核模块传递参数
- Uboot--Linux参数传递--ATAG
- linux 内核模块参数传递
- Linux内核启动参数传递
- [Linux]Linux Shell脚本参数传递
- 关于Linux内核态传递参数
- BootLoader与Linux内核的参数传递
- Linux内核启动参数的传递
- 基于标签的文件管理工具 - Tagstore
- HOG转换到vs2010遭遇问题解决
- 工程师们,不要想一辈子靠技术混饭吃
- VC
- SCJP认证 第二章面向对象 2.4 重写和重载(1)
- linux参数传递
- vi & vim
- 解决KMPlayer播放f4v格式文件并关联
- 病态!------沉沦的病态
- android中的UI主线程与子线程
- 也许!!!!
- 备忘之语言的定义类对象
- flex 页面跳转
- flex 3.0中关于两个.mxml文件之间链接的简单方法