草庐IT

linux-gnu

全部标签

【Linux】静态库和动态库

动静态库一、静态库1.静态库概念2.制作静态库(1)朴素方法---不打包(2)对静态库打包3.使用静态库(1)朴素方法---直接使用(2)使用打包好的静态库二、动态库1.动态库概念2.制作动态库3.使用动态库(1)头文件和库文件安装到系统中(2)软链接(3)环境变量(4)更改关于动态库的配置文件三、动态库加载1.引入概念2.理解动态库加载3.程序的运行过程一、静态库1.静态库概念静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。2.制作静态库(1)朴素方法—不打包下面我们实现两个简单的方法,加法和减法的计算方法,使用头文件和源文件分开的形式呈现出

【Linux】Ext2 文件系统

文件系统前言一、磁盘硬件1.磁盘的物理存储结构2.磁盘存储的逻辑抽象结构二、理解Ext2文件系统1.初步理解文件系统2.深入理解文件系统(1)inodeTable(2)Datablocks(3)inodeBitmap(4)BlockBitmap(5)GroupDescriptorTable(6)SuperBlock3.扩展(1)文件过大(2)Ext2文件系统(3)目录三、软硬链接1.软链接2.硬链接四、页框和页帧前言首先我们需要知道,文件的管理工作分为:打开的文件进行管理;没有被打开的文件也要在磁盘中进行管理。而以上两个部分我们称为文件系统!我们在上一章已经学习过了在系统中一个被打开的文件,而

linux 消息发布工具-kafka

下载地址:https://mirrors.cnnic.cn/apache/kafka一、系统构成在整个消息发布流程中,kafka作为一个中间件对系统的运行提供了解耦、削峰、异步处理的能力。由生产者发起信息同步条件,中间件作为信息转储的角色对news进行发布。消费者会通过offset来保证接收最新的消息主要由生产者、消费者、中间件构成。中间件由producer生产者brokerkafka实现实例其可实现主要功能部分topic每个kafka实例内部的消息类型每个实例内部可存在多个topicpartition消息类型分组,每组的数据不同。每个topic内存在多个partitionmessage每条发

【Linux C | 网络编程】详细介绍 “三次握手(建立连接)、四次挥手(终止连接)、TCP状态”

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭🤣本文内容🤣:🍭介绍“三次握手(建立连接)、四次挥手(终止连接)、TCP状态”🍭😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭本文未经允许,不得转发!!!目录🎄一、概述🎄二、三次握手(建立连接)✨2.1三次握手的过程✨2.2为什么需要三次握手🎄三、四次挥手(终止连接)✨2.1四次挥手的过程✨2.2为什么需要四次挥手🎄四、TCP状态🎄五、总结🎄一、概述一个TCP连接通常分为3个阶:建立连接、数据传输(也称作“连接已建立”)、终止连

c++ - 如何使用 GNU Make 项目设置 Google Test?

由于Google测试网页上基本上没有任何文档,我该怎么做呢?到目前为止我所做的:我从项目页面下载了googletest1.6并在其中执行了./configure&&make我将-Igtest/include-Lgtest/lib添加到我的编译器/链接器标志我写了一个小样本测试:#include"gtest/gtest.h"intmain(intargc,char**args){return0;}TEST(someTest,testOne){ASSERT_EQ(5,5);}这编译得很好,但链接器似乎一点也不开心。我收到一大堆错误消息,格式如下test/main.o:Infunctions

Linux 配置DNS域名解析服务器

文章目录1.DNS分布式结构2.域名解析过程3.解析方式4.bind配置服务软件(1)安装bind软件(2)配置文件5.配置DNS主服务器(1)正向解析(2)反向解析6.配置DNS从服务器(1)更改主服务器(2)配置从服务器1.DNS分布式结构结构含义.根(全球共13台)cn.jp.顶级域com.cn.com.就是二级域baidu.com.cn.baidu.就是子域(需要购买,全球唯一)2.域名解析过程查询:本地缓存------>dns域名服务器------>根服务器------>顶级域------>二级域------>子域先查本地的dns缓存,如果没有,到dns域名解析服务器查找,若是还是没

【Linux】make和makefile详解

目录一、概述二、为什么要用makefile三、创建简单的Makefile四、makefile的规则五、makfile的工作流程六、makefile中声明变量七、clean与伪目标一、概述当谈论到Linux中的软件构建工具时,不得不提到Makefile。Makefile是一种文件,它包含了一组规则,用于指导构建系统在源代码中生成可执行文件或库。它是使用GNUMake软件的标准格式。Makefile的主要目的是描述代码文件之间的依赖关系以及如何构建以达到特定目标。通过定义规则和命令,开发人员可以轻松地管理项目的复杂构建过程。Makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个ma

c++ - GNU 的 nana 库死了吗?是否有后继者在使用?

查看http://savannah.gnu.org/projects/nana/似乎上次的工作是四年前在Nana上完成的,nana的官方gnu.org主页是一个占位符。鉴于不活跃的项目往往会遭受比特腐烂:项目结束了吗?有继任者吗?人们是否有其他更好的C/C++断言/日志记录库? 最佳答案 如果您正在寻找日志记录库,请使用Log4Cxx:http://logging.apache.org/log4cxx/如果您正在寻找断言检查,请使用单元测试框架,例如UnitTest++:http://unittest-cpp.sourceforge

运维与Linux磁盘不得不说的故事

概述在Linux系统中,我们经常需要查看磁盘的使用情况。这是一个重要的任务,因为它可以帮助我们了解系统的存储状态,以便我们可以更好地管理我们的文件和应用程序。duf命令是一个命令行工具,它提供了对磁盘使用情况的详细查看。它以一种易于理解和可视化的方式显示信息,使得查看磁盘使用情况变得更加简单和直观。duf命令是一个终端工具,旨在增强传统的Linux命令df和du。这两个命令虽然功能强大,但它们的输出格式对于初学者来说可能会感到有些复杂和难以理解。duf命令改进了这一点,它以一种更友好、更直观的方式显示磁盘使用情况。此外,duf命令是用Golang编写的,这意味着它可以轻松地跨平台运行,包括Wi