当前位置: 首页 > news >正文

【Linux】借助gcc源码修改,搜索头文件当前进展

测试代码:

log.h

#ifndef LOG_H
#define LOG_Hint add(int a, int b); #endif

log.c

#include <stdio.h>
#include <stdlib.h>#include "log.h"int add(int a, int b) 
{int c = a + b;printf("c=%d", c);return c;
}

test.c

#include "log.h"int main()
{add(1, 2);return 0;
}

auto_test.sh

echo "" > /log.txt
gcc test.c log.c -o test
./test
grep -Hrn "log.h" /log.txt
grep -Hrn "stdio.h" /log.txt
grep -Hrn "test.c" /log.txt

运行的结果:

这里的日志是编译时将头文件所在的目录添加到编译的头文件搜索目录列表 

 这里的大概的意思是在编译test.c, log.c的时候对外依赖的头文件

gcc的代码量比较大,看了很小些gcc源代码,慢慢摸索才找到这里。

当前碰到一个比较大的问题,就是在编译的时候会生成一些中间文件,在/tmp目录,编译时需要不停的按enter键,才能继续往下编译。。。。。

这只是大概 找到的位置,也不确定是否正确。

从另一方面来说,在内核编译中后期会进行链接,也会报一些头文件不能识别,这块估计得下一步继续摸索。。。

 

感谢阅读。

http://www.dtcms.com/a/205481.html

相关文章:

  • 6-码蹄集600题基础python篇
  • 为什么可以不重写m1方法
  • 英伟达显卡驱动怎么安装 使用驱动人生轻松安装
  • 嵌入式自学第二十五天(5.21)
  • 10-码蹄集600题基础python篇
  • 【Python生成器全解析】从基础到高阶应用实战
  • Jenkins (七) - Docker Harbor
  • 三维表面轮廓仪的维护保养是确保其长期稳定运行的关键
  • Java操作数据库,JDBC
  • 【C++】vector容器实现
  • sqli-labs第十八关——POST-UA注入
  • 【题解-洛谷】B4302 [蓝桥杯青少年组省赛 2024] 出现奇数次的数
  • 振动分析 - 献个宝
  • Java垃圾回收与JIT编译优化
  • msdn怎么下载win10专业版_msdn上下载win10专业版及安装方法
  • 直播美颜SDK技术解析:滤镜渲染与动态贴纸引擎融合的底层实现
  • Go语言内存共享与扩容机制 -《Go语言实战指南》
  • 5月21日
  • AI驱动新增长:亚马逊Rufus广告点击率提升300%的奥秘
  • 回溯法求解N皇后问题
  • 【C++ 真题】P5736 【深基7.例2】质数筛
  • 【笔记】PyCharm 中创建Poetry解释器
  • PyTorch学习之:torch.gather是什么?
  • MBSS-T1:基于模型的特定受试者自监督运动校正方法用于鲁棒心脏 T1 mapping|文献速递-深度学习医疗AI最新文献
  • InetAddress 类详解
  • 第一章 Proteus中Arduino的可视化程序
  • 宁夏建设工程专业技术职称评审条件
  • 今日行情明日机会——20250521
  • 掩膜合并代码
  • 关于TCP三次握手