应用开发的专有名词、各类文件后缀

xiaoxiao2021-02-28  145

 

SDK

Software Development Kit 软件开发包

 

ADS

Application Development Suite 应用开发套件

一个便于开发者快速学习如何开发相应的应用的综合套件。

通常包括:

编译环境(全平台、LinuxOS, VirtualBox for Windows/Mac)手册、文档各种库Sample code/Demo code 示例代码

我的理解啊,ADS所指的范围比SDK小一点。  

ADE

Application Development Environment 应用开发环境

 

API

Application Programming Interface 应用编程接口

其实就是一些预先定义好的函数。我们可以直接调用这些函数就可以。通常会有一个文档,描述各函数正确的参数传递等使用方法。

这样开发者就能够直接访问一组基于某软件或硬件的例程,而无需知道源码、理解内部工作机制。

任何程序的运行都要通过它去连接操作系统。

 

应用包的打包

打包的流程在各个应用各有不同

 

RDM立项、提交测试

RDM指研发管理(Research & Development Management)

公司一般会用这样的平台对一个项目的方方面面进行规划、记录、管理。

比如青铜器RDM,感兴趣的可以去搜一下。

 

SVN

Subversion的简称,一个开放源代码的程序源码版本管理控制系统

 

项目源码目录

inc 存放项目应用层面的所有源码头文件(*.h)

lib 存放仅与当前项目有关的特殊库文件(*.so / *.a)(相当于windows下的.c文件)

*.o文件:

在UNIX下,源码编译出的二进制文件。是一个最小的编译单元 。   

(相当于Windows下的*.obj)

在编译时,只检测程序语法,函数、变量是否被声明。只要语法正确,编译器就可以编译出中间目标文件。

如果函数未被声明,编译器会给出一个警告,但可以生成Object File.                   

*.a文件:

是多个*.o文件的打包。静态库文件,用于静态连接,整个函数库的所有数据都会被整合进目标代码中。

(相当于Windows下的*.lib)LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library

*.so文件: 

动态库,用于动态链接。共享函数库。

(相当于Windows下的.dll)(dynamic link library)

共享函数库在编译的时候,没有被编译进目标代码中,当程序执行到相关函数时才调用共享函数库里相应的函数。

因此共享函数库所产生的可执行文件比较小。

在链接程序时,链接器会在所有的Object File中找寻函数的实现,如果找不到,那到就会报链接错误码

src 存放所有项目应用层面的所有源码C文件(*.c)

makefile

告诉make命令如何去编译和链接程序。定义规则来指定,哪些文件先编译,哪些文件后编译,哪些文件需要重新编译。

语句:

target ... : prerequisites ... command

prerequisites是要生成target所需要的东西。

过程:

预处理:将所有#define删除;展开宏定义;处理#include,将被包含的文件插入;删除注释编译汇编链接:调用链接器ld进行链接,生成可执行文件。

 

为什么要Include .h”文件,而不直接Include “.c文件呢?为什么要进行区分呢?

.h文件内含函数声明、宏定义、结构体定义

.c文件内含函数实现、变量定义

 

 

项目文档目录

可执行文件或库文件目录

发布版本存档目录

日志管理

转载请注明原文地址: https://www.6miu.com/read-50115.html

最新回复(0)