简单的 ls 命令的实现(一) 一、前言前一段时间,我接到小组的一个小题目,要求实现部分ls 命令,这可把我难住了。于是我想着先实现一个简单的 ls 命令。 二、dirent.hdirent.h 是 C 标准库中的一个头文件,用于访问目录中的文件和子目录。它包含了一些数据类型和函数原型,用于实现对目录的打开、读取和关闭等操作,例如 opendir()、readdir()、closedir() 等函数。在 Unix 和 Lin 2023-02-15 系统编程 #c++
C语言指针——从入门到精通 〇、前言本文是本人在学习 C语言的过程中所积累的对 C语言指针的感悟,可能会有些地方描述不准确,还请指出。本文遵循一般文章结构,从简单到难,从基本概念到抽象总结。适合任何任何学习 C语言的人群。 一、指针的概念指针的值就是某一个变量的内存地址,指针变量就是用来存放某个变量的内存地址的变量,和广义的变量没有什么区别。 在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的。这是因为操 2023-01-17 Things about C #c++ #开发语言 #c语言
(三)抽象类 〇、前言在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两类概念既有很多的相似处又有很多的不同,下面用具体的例子来说明这两者的区别和联系。 一、抽象类抽象类可以理解为一种半抽象,就是说它不是完全抽象的。它的里面可以含有完整定义的方法。比如: 1234567891011121314151617public class Test01 { public static 2023-01-13 Java基础知识 #开发语言 #java
(二)常量池的探索 JVM常量池主要包含四个常量池,分别是:Class文件常量池、运行时常量池、全局字符串常量池、以及基本类型包装类对象常量池。 一、class文件常量池为了更加容易的理解本文所说的,我们先写一个程序来分析: 1234567891011121314class FinalTest01{ private int value = 1; public String s = " 2023-01-12 Java基础知识 #算法 #java #jvm
(一)Java 中 final 关键字的用法总结 一、final 的基本用法1、修饰类final修饰一个类时,表示该类不能继承。比如下面的写法就是错误的: 123456final class A{}class B extends A{} 而且对于类、方法来说,abstract关键字和final关键字不能同时使用,因为矛盾。有抽象方法的abstract类被继承时,其中的方法必须被子类Override,而f 2023-01-12 Java基础知识 #开发语言 #java #jvm
对环境变量的探究 〇、环境变量是什么?在使用 Windows 操作系统时我发现,在安装一个新的工具包后,是无法直接使用这个工具包的。计算机相关专业的学生在配置 VScode 时会感受颇深,他们往往得下载一个 MinGW,之后就得配置环境变量。配好之后,就可以在 cmd 窗口输入gcc -v来看是否配置成功了。 在不同的平台,比如 macOS下,装好工具之后,也得把工具的目录导入到一个.zshrc中,之后键入so 2023-01-10 OS #c++ #macos #vscode #ide
macOS下binutils 的安装 安装输入: 1brew update && install binutils 之后弹出: 123456789binutils is keg-only, which means it was not symlinked into /usr/local,because because Apple provides the same tools and binutils is poo 2023-01-10 Some_Tools #服务器 #linux #macos
2022 Personal Summary 1. Write in FrontI had this idea very early on, to record myself every year, summarize the gains and shortcomings of this year, and compare whether I have made progress and whether my life has beco 2023-01-10 Personal_Summary #个人总结
Analysis of the Location of Initialized/Uninitialized Global/Static/Local Variables/Constants in Mem Development tools macOS(Apple M1) VScode otool binutils Let’s start with a simple program1234567891011121314151617#include <unistd.h>int global_init_a = 1;char global_init_b = 'a';i 2023-01-10 Things about C #linux #vscode macos #c++
Design a Dynamic Expansion Buffer (strbuf) with C Language Here is it!1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 2023-01-01 Tests for Basic Knowledge of C #开发语言 #c语言