从我之前的博文当中,大家应该大概了解了linux下的函数库究竟是一个什么样的东西。linux下的函数库其实就像windows中的dll文件,里面包含了程序运行所需要的函数。

其实无论是我们使用linux系统本身自带的库,还是使用第三方源代码编译所产生的函数库,无论有意识还是无意识,我们在linux下使用c语言进行编程,其实多多少少都会和函数库进行接触。

将源代码编译成函数库之后,我们想要使用相关的函数,只要带上相关的函数库一起编译或运行就好,而不必须每次都将函数库的源代码进行编译——特别是当函数库的源代码十分庞大的时候。

我们之所以需要创建自己的函数库,其实也是因为在一个工程里面,我们用到了过多的自编代码文件。为了使用方便,我们不妨将这些代码文件都编译成一个函数库。

在codeblock中为我们创建自己的函数库提供了一个十分方便的方法:

(1)打开codeblock 选择File->New->Project创建静态函数库工程.

(2)点击Next

(3)输入文件名,然后点击next

(4)点击finish

5)将新建工程里面包含的main.c删除

(6)右击工程名选择Add file将自己写的代码文件加入到工程当中

出现如下画面,点击ok就好

这是添加完成后的画面

(7)点击build,成功后会出现如下画面

(8)打开工程文件夹,可以看到编译好后生成的函数库

9)如果编译失败或是没有生成函数库怎么办在前面的步骤当中,我是直接将放置在桌面的代码直接导入的,但是我在使用codeblock过程中有个非常奇怪的地方:当你不是在/home/<用户名>文件夹中建立工程的话,并且你的代码没有放在/home/<用户名>文件夹当中,你的编译很可能不会产生任何文件。所以,直接将工程建立在/home/<用户名>文件夹当中就好(比如说我的用户名为linfen,我就将工程建立在/home/linfen文件夹下),并且所有所需的代码也要放在工程目录下

Linux c codeblock的使用(四):创建自己的静态函数库的更多相关文章

  1. LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间

    1什么是进程:进程是一个执行中的程序 执行的程序: 代码->资源->CPU 进程有很多数据维护:进程状态/进程属性 所有进程属性采用的一个树形结构体维护 ps  -a//所有进程 ps - ...

  2. 《Linux内核分析》 第四节 扒开系统调用的三层皮(上)

    <Linux内核分析> 第四节 扒开系统调用的三层皮(上) 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com ...

  3. Linux系统运维笔记(四),CentOS 6.4安装 MongoDB

    Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...

  4. Linux内核分析 - 网络[十四]:IP选项

    Linux内核分析 - 网络[十四]:IP选项 标签: linux内核网络structsocketdst 2012-04-25 17:14 5639人阅读 评论(1) 收藏 举报  分类: 内核协议栈 ...

  5. Linux下安装SVN,仓库创建,用户权限管理

    Exported from Notepad++           Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...

  6. 【Linux】进程的结构,创建,结束,以及程序转化为的进程的过程

    本文内容: 1.进程的结构 2.程序转化为进程的过程 3.进程的创建 4.进程的结束 背景知识: 1.进程是计算机中处于运行的程序的实体 2.进程是线程的容器 3.程序本身只是指令,数据以及组织形式的 ...

  7. 【Linux】多线程同步的四种方式

    背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> ...

  8. 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat

    阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat  执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...

  9. DevExpress XtraReports 入门四 创建 Web 报表

    原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...

随机推荐

  1. 【记录】Linux安装jave-web环境

    依照教程记录 -java https://blog.csdn.net/a360616218/article/details/76736988 -tomcat https://www.cnblogs.c ...

  2. python操作pymysql数据库

    首先需要导入通过import pymysql导入数据库模块 已经创建好一个数据库test,数据库中有一个空表t,只有两个字段id int(5),name varchar(20) import pymy ...

  3. bzoj2839 集合计数(容斥)

    2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 883  Solved: 490[Submit][Status][Discuss] ...

  4. Hadoop2-HDFS学习笔记之入门(不含YARN及MR的调度功能)

    架构 Hadoop整体由HDFS.YARN.MapReduce三大部分组成,推荐架构参考:https://www.cnblogs.com/zhjh256/p/10573684.html. 注:2.x的 ...

  5. 安装LNMP笔记

    安装好centos7,主机ssl连不上 网卡设置为桥接模式或NAT模式 防火墙的原因 首先telnet本机22口 先更新yum源 yum update -y 安装网络常用工具:telnet trace ...

  6. Developing Vert.x Modules using the Standard Project

    The module The tests Unit tests Integration tests Java integration tests JavaScript integration test ...

  7. STM32C语言与MDK基础

    Ifdef条件编译 Extern相当于全文件的全局变量,使用前需声明,加extern就行 Static,只在当前.c文件起作用,也可以定义函数,作用是提供HALL库用,不是给用户用. Weak前加两个 ...

  8. JSESSIONID的简单说明

    原文地址:http://blog.csdn.net/chunqiuwei/article/details/23461995 1)第一次访问服务器的时候,会在响应头里面看到Set-Cookie信息(只有 ...

  9. 20171012--jq 遍历取值

    1.父节点:parent(); 2.子节点:children(); 3.兄弟节点:siblings(); 4.用find:$("div").find("span" ...

  10. 获取占用fd最大的前20个进程

    for x in `ps -eF| awk '{ print $2 }'`;do echo `ls /proc/$x/fd 2> /dev/null | wc -l` $x `cat /proc ...