博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

随笔分类 -  C/C++

摘要:Makefile嵌套执行make 一个大的工程文件中,不同的文件按照功能被划分到不同的模块中,也就说很多的源文件被放置在了不同的目录下。每个模块可能都会有自己的编译顺序和规则,如果在一个 Makefile 文件中描述所有模块的编译规则,就会很乱,执行时也会不方便,所以就需要在不同的模块中分别对它们的 阅读全文

posted @ 2020-10-04 15:41 面具下的戏命师 阅读(321) 评论(0) 推荐(1)

摘要:Makefile命令编写和文件包含 Makefile 的规则是由依赖关系规则和命令组成的。所使用的命令是由 shell 命令行组成,他们是一条一条执行的。多个命令之间要使用分号隔开,Makefile 中的任何命令都要以tab键开始。多个命令行之间可以有空行和注释行,在执行规则时空行会被自动忽略。 通 阅读全文

posted @ 2020-10-02 17:25 面具下的戏命师 阅读(418) 评论(0) 推荐(0)

摘要:Makefile编写规则(四)常用函数 函数的调用和变量的调用很像。引用变量的格式为$(变量名),函数调用的格式如下: $(<function> <arguments>) 或者是 ${<function> <arguments>} 字符串处理函数 1. 模式字符串替换函数,函数使用格式如下: $(p 阅读全文

posted @ 2020-10-02 16:42 面具下的戏命师 阅读(434) 评论(0) 推荐(0)

摘要:Makefile编写规则(三)条件判断和伪目标 Makefile条件判断 使用 Makefile 编译文件时,可能会遇到需要分条件执行的情况,比如在一个工程文件中,可编译的源文件很多,但是它们的类型是不相同的,所以编译文件使用的编译器也是不同的。手动编译去操作文件显然是不可行的(每个文件编译时需要注 阅读全文

posted @ 2020-10-02 14:43 面具下的戏命师 阅读(1581) 评论(0) 推荐(0)

摘要:Makefile编写规则(二)文件搜索和隐含规则 上篇文章介绍了Makefile中通配符的使用以及变量的定义和使用,本文继续介绍Makefile的其他规则 Makefile目标文件搜索 工程文件中的源文件有很多,并且存放的位置可能不相同(工程中的文件会被放到不同的目录下),所以按照之前的方式去编写 阅读全文

posted @ 2020-10-02 12:22 面具下的戏命师 阅读(529) 评论(0) 推荐(0)

摘要:Makefile编写规则(一)通配符和变量 Makefile 有自己的书写格式、关键字、函数。我们在本文中着重介绍一下Makefile的书写格式。如通配符,变量的定义,条件判断等等。 Makefile通配符 Makefile 是可以使用 shell 命令的,所以 shell 支持的通配符在 Make 阅读全文

posted @ 2020-09-30 20:48 面具下的戏命师 阅读(1074) 评论(0) 推荐(0)

摘要:Makefile简介 Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在 Makefile 中都可以进行描述。换句话说, 阅读全文

posted @ 2020-09-30 13:37 面具下的戏命师 阅读(217) 评论(0) 推荐(0)

摘要:动态链接库的显示调用 上篇文章介绍了动态链接库的创建和试用,需要指明的是,这只是动态链接库的其中一种用法。本文将讲解它的另外一种用法,总的来讲,动态链接库的调用方式有 2 种,分别是: 隐式调用(静态调用):将动态链接库和其它源程序文件(或者目标文件)一起参与链接; 显式调用(动态调用):手动调用动 阅读全文

posted @ 2020-09-27 17:36 面具下的戏命师 阅读(944) 评论(0) 推荐(0)

摘要:静态链接库和动态连接库 库文件,读者可以将其等价为压缩包文件,该文件内部通常包含不止一个目标文件(也就是二进制文件)。值得一提的是,库文件中每个目标文件存储的代码,并非完整的程序,而是一个个实用的功能模块。 库文件的产生,极大的提高了程序员的开发效率,因为很多功能根本不需要从 0 开发,直接调取包含 阅读全文

posted @ 2020-09-27 16:14 面具下的戏命师 阅读(544) 评论(0) 推荐(0)

摘要:链接库 链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件。在链接过程中,它必须把符号(变量名、函数名等一些列标识符)用对应的数据的内存地址(变量地址、函数地址等)替代,以完成程序中多个模块的外部引用。链接器而言,链接库不过是一个具有许多目标文件的集合,它们在一个文件中 阅读全文

posted @ 2020-09-25 22:04 面具下的戏命师 阅读(418) 评论(0) 推荐(0)

摘要:GCC编译C/C++程序过程 GCC 编译器并未提供给用户可用鼠标点击的界面窗口,要想调用 GCC 编译器编译 C 或者 C++ 程序,只能通过执行相应的 gcc 或者 g++ 指令。实际上,C 或者 C++ 程序从源代码生成可执行程序的过程,需经历 4 个过程,分别是预处理、编译、汇编和链接。 同 阅读全文

posted @ 2020-09-25 10:11 面具下的戏命师 阅读(1086) 评论(0) 推荐(2)

摘要:GCC编译器 GCC(GUN Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等)。 GCC的组成 阅读全文

posted @ 2020-09-23 16:50 面具下的戏命师 阅读(1619) 评论(0) 推荐(2)