随笔分类 - buildsystem
摘要:1.编译应用程序 应用程序编译注意有以下几点: 1.区分glibc和uclibc 对于复合编译器的相关选项会有不同。 比如: CONFIG_UCLIBC_BUILD=y ifeq ($(CONFIG_UCLIBC_BUILD), y) CFLAGS += -muclibc LDFLAG += -mu
阅读全文
摘要:进行预编译 gcc -E hello.c -o hello.i 显示所有waring, 并将waring转为error CFLAGS := -Wall -Werror ELF->反汇编 objdump -D test.elf > dis_test.s ELF->BIN文件 常用在裸机开发过程中,由于
阅读全文
摘要:在编译时,如果没有指定上面的任何优化参数,则默认为 -O0,即没有优化。 在GCC相关手册中查到。 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options Without any optimization o
阅读全文
摘要:1.准备测试代码 #include <stdio.h> int main(void) { printf("hello\n"); return 0; } 2.使用-v选项,编译 gcc -v test.c 3.分析输出 1.查看头文件目录中,有没有uclibc输出字段中 如 #include "...
阅读全文
摘要:基本操作 debug:生成debug包 release:生成release包 all:依次生成debug包,release包 示例一 #!/bin/sh export STAGING_DIR=../staging_dir export PATH=$PATH:../staging_dir/toolch
阅读全文
摘要:gcc部分 常用软件 名称 描述 cpp C预处理器 gcc C compiler g++ C++ compiler gcov 覆盖测试工具,用于分析在程序的哪个位置做优化效果最佳 libgcc GCC 的运行库 libstdc++ 标准 C++库 libsupc++ 提供支持 C++语言的函数库
阅读全文
摘要:概述 makefile常用来管理编译,控制生成最终代码的过程 make是可执行程序,用来执行makefile脚本的。 make工具源代码地址http://ftp.gnu.org/gnu/make/ makefile脚本在执行时,先看需要的目标在不在,若在,会检查各个源文件的时间stamp,若有时间变
阅读全文
摘要:1. 什么是交叉编译 交叉编译,举例来说就是在x86的PC机上编译ARM程序,然后将ARM程序放到ARM开发板上运行。 2. 如何获何得工具链 从芯片厂商那里获得 3. 设置工具链路径 由于平时开发使用的平台各种各样,所以我喜欢采用如下方法 方法1: 在shell中输入如下命令即可 export P
阅读全文