Linux c codeblock的使用(四):创建自己的静态函数库
从我之前的博文当中,大家应该大概了解了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的使用(四):创建自己的静态函数库的更多相关文章
- LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间
1什么是进程:进程是一个执行中的程序 执行的程序: 代码->资源->CPU 进程有很多数据维护:进程状态/进程属性 所有进程属性采用的一个树形结构体维护 ps -a//所有进程 ps - ...
- 《Linux内核分析》 第四节 扒开系统调用的三层皮(上)
<Linux内核分析> 第四节 扒开系统调用的三层皮(上) 张嘉琪 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com ...
- Linux系统运维笔记(四),CentOS 6.4安装 MongoDB
Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- Linux内核分析 - 网络[十四]:IP选项
Linux内核分析 - 网络[十四]:IP选项 标签: linux内核网络structsocketdst 2012-04-25 17:14 5639人阅读 评论(1) 收藏 举报 分类: 内核协议栈 ...
- Linux下安装SVN,仓库创建,用户权限管理
Exported from Notepad++ Linux下安装SVN,仓库创建,用户权限管理 1.SVN安装 Ubuntu系统下安装:sudoapt-getinstallsubv ...
- 【Linux】进程的结构,创建,结束,以及程序转化为的进程的过程
本文内容: 1.进程的结构 2.程序转化为进程的过程 3.进程的创建 4.进程的结束 背景知识: 1.进程是计算机中处于运行的程序的实体 2.进程是线程的容器 3.程序本身只是指令,数据以及组织形式的 ...
- 【Linux】多线程同步的四种方式
背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include <iostream> #include<pthread.h> ...
- 阿里云服务器Linux CentOS安装配置(四)yum安装tomcat
阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat 执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...
- DevExpress XtraReports 入门四 创建 Web 报表
原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...
随机推荐
- python 基于numpy的线性代数运算
import numpy as np A = [[1,2],[2,1]] np.linalg.inv(A) #计算矩阵A的逆矩阵. #显示结果 [[-0.33333333 0.66666667] [ ...
- Linux 下的分屏利器-tmux安装、原理及使用
>> 原文地址
- mybatis的collection查询问题以及使用原生解决方案的结果
之前在springboot+mybatis环境的坑和sql语句简化技巧的第2点提到,数据库的一对多查询可以一次查询多级数据,并且把拿到的数据按id聚合,使父级表和子级表都有数据. 但是这种查询,必然要 ...
- 13: ELK(ElasticSearch+Logstash+ Kibana)搭建实时日志分析平台
参考博客:https://www.cnblogs.com/zclzhao/p/5749736.html 51cto课程:https://edu.51cto.com/center/course/less ...
- Leaflet获取可视范围内4个顶点
//地图级别改变时发生 map.on("zoomend", function (e) { var zoom_val = e.target.getZoom(); map_drag() ...
- Python3 tkinter基础 Tk quit 点击按钮退出窗体
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 【Git】Git使用记录: remove *.lock eg: index.lock/head.lock
问题 Another git process seems to be running in this repository, e.g. an editor opened by 'git commit' ...
- error——Fusion log——Debugging Assembly Loading Failures
原文 So...you're seeing a FileNotFoundException, FileLoadException, BadImageFormatException or you sus ...
- Microsoft.AspNet.Web.Optimization.Bundle的完美替换方案
Web应用程序中包含大量的样式(css)和脚本(js)文件,这些文件的引用.管理和发布有很多解决方案.在Asp.Net MVC应用程序中,大家最熟悉的解决方案应属Microsoft.AspNet.We ...
- Python3学习笔记----生成器
生成器的作用 生成器可以在循环的过程中推算出后续的元素,不必创建完整的list,从而节省大量空间. 生成器的创建 1.把一个列表生成式的 [ ] 改写为( ) # -*- coding: UTF-8 ...