用户定义的.c和.h文件管理

时间:2016-12-28 05:38:16

标签: c .so .a

我正在构建一个我自己的小型库* .c& * .h文件,我不确定如何管理它们,特别是将它们包含在项目中时。我在Ubuntu上使用Codeblocks以防万一。对于每个.c / .h文件对,我有一个Codeblocks项目,这是一个我可以修改的操场。测试任何变化或新发现的错误。

我想我应该将.c编译成库(.a / .so),将它们放入相应的自定义' XXX / bin'和' XXX /包括'文件夹,并包含/链接这些位置(添加到PATH)。

另一个选项(我一直在做对或错)是将.c文件直接添加到我的项目中,并且#include .h文件的完整路径(我知道这是错误的,但是它有效。)

您如何管理.c和.h文件?

2 个答案:

答案 0 :(得分:3)

实际上,两种方式(在编译程序时准备目标文件并使用它们,并使用完整或相对路径向每个项目添加源代码和标题)都很正常。你应该选择一种方便的方式。我不知道Codeblocks是如何工作的,但我认为,作为大多数IDE,它可以支持依赖关系,优化构建时间并重建库(复杂项目的组件),如果某些文件已更新。

我的建议是考虑一些像cmake这样的项目构建工具(项目制作者)。您将能够为任何项目配置构建过程并使用不同的编译器,以及不同项目的不同编译选项,而源文件(* .c和* .h)存储不会更改。

cmake tutorial和其他documentation

开始

当然,首先处理makefile语法并不容易,但是当你习惯它时,你会发现它有多方便。

答案 1 :(得分:0)

我认为至少可以在Linux平台上包含来自其确切来源的标题。

假设您将* .h放在/ usr / include中,您可以使用

#include "/usr/include/*.h"
如果不移动源文件,您可以将相同的代码块添加到您编写的每个新源中,但VolAnd上面提到的建议可能是更标准的管理方式。