发布

学习

专栏成员
67
文章
11191
阅读量
12
订阅数
Linux环境下静态库和动态库的实现
在软件开发中,库是非常重要的组成部分。它们包含了一组可复用的函数和代码片段,用于提高开发效率和代码质量。在Linux系统中,库分为静态库和动态库两种。本文将介绍它们的实现方式,结合C语言代码进行说明,并详细解释其原理和使用方法。
ahao
2025-01-05
840
Linux 多进程编程详解
多进程编程是现代操作系统中一种重要的并发编程技术。通过在同一程序中运行多个独立的进程,可以实现并发处理,充分利用多核处理器的优势,提高程序的运行效率。本文将详细介绍Linux多进程的基本概念、创建方法、进程间通信、同步机制以及实际应用,配以C++示例代码,帮助读者深入理解和掌握多进程编程技术。
ahao
2024-07-16
2490
Linux的线程
在计算机科学和软件工程中,多线程编程是一项关键技能,尤其在当今多核处理器和高并发应用程序的背景下显得尤为重要。本文将全面探讨Linux环境下的线程编程,涵盖基本概念、线程创建与管理、线程同步、性能优化以及实际应用,通过详细的C++示例代码帮助读者深入理解并掌握这一技术。
ahao
2024-07-16
1770
Linux高级IO流详解
在Linux系统编程中,IO流(Input/Output Streams)是一个非常重要的概念。高级IO流是基于基本IO操作(如read、write等)之上的扩展,提供了更强大的功能和更高效的操作方式。本文将深入探讨Linux中的高级IO流,重点介绍其原理和使用方法,并提供相应的C++代码示例。
ahao
2024-07-16
1410
如何在Ubuntu20上离线安装joern(包括sbt和scala)
在Ubuntu 20上离线安装Joern,由于Joern通常需要通过互联网从其官方源或GitHub等地方下载,但在离线环境中,我们需要通过一些额外的步骤来准备和安装。(本人水平有限,希望得到大家的指正)
ahao
2024-07-01
2370
sbt的依赖管理逻辑
在软件项目开发中,依赖项管理是至关重要的一环。sbt(Simple Build Tool)作为Scala领域最常用的构建工具之一,提供了便捷的依赖项管理机制,既支持托管依赖项,也支持非托管依赖项。sbt 使用 Apache Ivy 作为其依赖管理系统,支持 Maven 和 Ivy 依赖格式。本文将对sbt的依赖管理逻辑进行一些个人观点上概述,水平有限,还请见谅。
ahao
2024-06-09
1790
进程地址空间
大家在学习语言阶段应该都听到过内存的概念,那么大家脑子里的固态思维就有这样一张图:
ahao
2024-04-02
800
main函数,printf函数,和库函数
在C语言的入门学习中,细心的朋友们可以发现,一个C语言程序无论有多长,都有一个main函数;而在代码中想要输出结果,就需要用到printf函数;print函数其实就是一个库函数,而库函数有很多。 接下来,我们就main函数,printf函数和库函数展开讲解。
ahao
2024-03-24
1270
gdb和makefile的讲解
gdb可以用于Linux环境下的程序的调试,就例如vs环境下的打断点,然后逐步分析语句等
ahao
2024-03-24
1500
vim编辑器和gcc/g++编辑器的使用讲解
vim是Linux的编写代码的工具,是一种多模式的编辑器。 Linux中vim的常用的模式大概可以分为三种,分别是: 命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
ahao
2024-03-24
2380
shell的介绍以及Linux权限的讲解
大家在以前的学习中可能会有一个固态的印象: 一台计算机的大概分层为下图 也就是说人可以直接调用计算机的操作系统,但真的是这样吗? 答案是否定的!
ahao
2024-03-24
1360
Linux的基本指令讲解
语法: ls [选项][目录或文件] 功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项:
ahao
2024-03-24
1210
Linux的背景介绍
Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。 Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
ahao
2024-03-19
1370
特殊类设计以及C++中的类型转换
拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。
ahao
2024-03-19
790
智能指针的讲解
首先我们分析一段代码: 1、如果p1这里new 抛异常会如何? 2、如果p2这里new 抛异常会如何? 3、如果div调用这里又会抛异常会如何?
ahao
2024-03-19
1110
异常的讲解
我们在之前的程序中为了防止已知的错误都会进行断言assert,但是assert是比较暴力的一种处理错误的方式,一旦发生了错误就会提前结束程序的运行
ahao
2024-03-19
840
C++11的简单介绍(下)
上述代码就是使用C++11中的lambda表达式来解决,可以看出lambda表达式实际是一个匿名函数。
ahao
2024-03-19
990
C++11的简单介绍(上)
在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。相比较而言,C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率,公司实际项目开发中也用得比较多,所以我们要作为一个重点去学习。C++11增加的语法特性非常篇幅非常多,我们这里没办法一 一讲解,所以本篇博文主要讲解实际中比较实用的语法。
ahao
2024-03-19
1260
哈希图的应用
首先我们根据一个面试题来进入位图的理解 1. 面试题 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数中。
ahao
2024-03-19
1260
哈希的简单介绍
在C++98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到
ahao
2024-03-19
930
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档