当前位置: 首页 > 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.xdnf.cn/news/571357.html

相关文章:

  • springboot链接nacos测试
  • 分类预测 | Matlab实现PNN概率神经网络多特征分类预测
  • 数学实验(Matlab绘图基础)
  • 大量程粗糙度轮廓仪适用于哪些材质和表面?
  • 矿物绝缘加热电缆行业2025数据分析报告
  • 使用Gemini, LangChain, Gradio打造一个书籍推荐系统 (第一部分)
  • Dockerfile指令详解
  • 打卡第二十四天
  • Swagger在java的运用
  • PostgreSQL 日常维护
  • Elasticsearch常用命令
  • 宁夏建设工程专业技术职称评审条件
  • 嵌入式Linux:移植使用scp指令
  • Java多线程深度解析:从核心机制到高阶实战
  • upload-labs通关笔记-第16关 文件上传之exif_imagetype绕过(图片马)
  • springcloud集成seata报错Error creating bean with name ‘globalTransactionScanner‘
  • 解决RedisTemplate的json反序列泛型丢失问题
  • SpringAI开发SSE传输协议的MCP Server
  • 安卓开发用到的设计模式(1)创建型模式
  • OpenCv高阶(十四)——LBPH人脸识别
  • 如何用 Qwen1.5-7B-Chat 模型打造高效轻量的 Python 智能助手(详细实操指南)
  • Windows在PowerShell或CMD运行 curl 命令报错 解决办法 (zx)
  • 如何支持Enhanced RTMP H.265(HEVC)
  • 蓝耘Ubantu服务器测试最新 PP-StructureV3 教程
  • linux 查看java的安装路径
  • Java面试问题基础篇
  • Wireshark 抓包工具使用
  • Visual Studio Code插件离线安装指南:从市场获取并手动部署
  • Android Framework学习八:SystemServer及startService原理
  • 鸿蒙开发——9.wrapBuilder与@BuilderParam对比解析