一.C代码 静态库 四个.h.c文件 add.h #ifndef ADD_H #define ADD_H int add(int a,int b); #endif add.c #include <stdio.h> int add(int a,int b) { printf("%d %d\n",a,b); return (a + b); } decrease.h #ifndef DECREASE_H #define DECREASE_H int decrease(int a,…
一. GCC的使用 1. GCC的编译过程 (1)预处理(cpp)gcc -E(输出问价通常以 .i 结尾),将头文件展开,宏替换等操作: (2)编译器(gcc)gcc -S(输出问价以 .s 结尾)生成汇编代码: (3)汇编器(as)gcc -c(输出文件以 .o 结尾)将汇编编译成二进制文件: (4)连接器(ld)gcc,链接 lib 库生成可执行文件. 执行过程如下(hello.c): #include<stdio.h> int main() { printf("hello w…
1.//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// linux下c编程起步一:掌握gcc基本用法 初学时最好从命令行入手,…
2015.2.27星期五,小雨 标准IO实现的复制功能: #include <stdio.h>#include <errno.h> #define N 64 int main(int argc, char *argv[]){ int n; char buf[N]; FILE *fps, *fpd; if(argc < 3) { printf("usage : %s <src_file><dst_file>\n",argv[0]);…
问题描述 利用toolchian.cmake设置好编译器后,利用make指令生成静态库,出现以下问题 Error running link command: No such file or directory 出错原因,toolchain.cmake文件内没有声明静态库生成器AR:解决方式,在toolchian.cmake文件内添加下面的声明 SET(CMAKE_AR $(TOOLCHAIN_DIR)/bin/arm-linux-gnueabihf-ar CACHE FILEPATH "Arch…
gcc编译过程 预处理,gcc -E,.c->.i 展开宏和头文件,替换条件编译,删除注释.空白和空行 编译, gcc -S,.i -> .s 检查语法规范 [消耗时间和系统资源最多] 汇编,gcc -c, .s->.o将汇编指令编译成汇编指令 链接, gcc, .o->.out,数据段合并,数据地址回填,连接成可执行文件 gcc -E aa.c -o aa.i -o 用来指定生产的文件名 编译参数 指定头文件 当头文件和主文件不在一个目录时. # I 指定头文件的目录 $ gcc…
下午闲来无聊,就打开很久没动过的linux系统想熟悉熟悉在linux上面编译代码,结果一个makefile文件搞到晚上才搞定,哈哈! 先把代码简单贴上来,就写了一个冒泡排序: sort.h: #ifndef SORT_H#define SORT_H #include<stdio.h>#include<time.h>#include<stdlib.h> #define N 10#define swap(a,b) {a^=b;b^=a;a^=b;}#define ins(a…
一.Makefile文件编写 http://www.cnblogs.com/majiangjiang/articles/3218002.html 可以看下上面的博客,总结的比较全了,在此不再复述 二.OpenWRT驱动开发步骤 http://www.360doc.com/content/14/0319/20/5345087_361967240.shtml 这里有比较详细的介绍,发现都是别人总结过的东西,在此只是做下记录,方便以后查找,不再重复造车轮了.…
Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力.因为,makefile关系到了整个工程的编译规则.一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进…
2.       编写makefile 示例: test:main.o func.o gcc -o test main.o func.o func.o:func.c gcc -c func.c main.o:main.c gcc -c main.c 1行:生成test可执行文件,它的依赖于main.o func.o,也就是说生成test你得先生成它们, 2行:gcc前边必须是tab也就是7个空格,表示编译生成test 后边是依赖项的生成规则 然后运行compile.bat就可以生成test.ex…