自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 Linux探秘坊-------10.基础IO

在c语言的fopen函数中,类型是FILE,那么FILE到底是什么类型呢?,如果写入东西的话,不是重新写文件,而是在原来文件得结尾处继续输入内容。答案是,文件会被清空,因为文件被打开时,默认被清空。,,需要在open函数中添加 O_APPEND。,需要在open函数中添加 O_TRUNC。进程打开为1:n的形式,什么意思?添加清空功能,每次打开文件需要清空文件。可以在centos环境下,稍作修改,-----重定向命令,如果只输入。,那怎么管理打开的文件呢?

2025-03-28 14:37:09 992 1

原创 python速通小笔记-------3.Numpy库

为克服列表的缺点,一个NumPy数组 只容纳一种数据类型,以节约内存。为方便起见,可将NumPy数组简单分为整数型数组与浮点型数组。

2025-03-23 18:14:47 311 2

原创 python速通小笔记-------2.类和对象

类似c++中类的this指针可以看到,这是类内部定义的一个函数,参数必须要有self,而且访问类的内部成员时要带上 self.成员变量。

2025-03-22 20:38:44 1060

原创 Linux探秘坊-------9.进程控制

/自己的shell1024//1.命令行参数表128// last exit code 退出码// 2. 环境变量表100const char* GetUserName()//从环境变量中拿到Userconst char* GetHostName()//从环境变量中拿到hostnameconst char* GetPwd()//从环境变量中拿到路径//不再从环境变量中拿,而是直接获取当前进程的地址,避免因环境变量未更新导致的地址不变if(pwd!

2025-03-21 11:10:27 907 1

原创 python速通小笔记-------1.容器

与c++不同,c++是自动不换行,\n表示换行,但python则是自动换行,不换行需要。pop函数是有返回值的------------str是无法修改的,其余操作和元组一致。与c++中的printf函数一致。列表的嵌套(多维vector)与c++不同,python。

2025-03-15 22:56:49 834

原创 Linux探秘坊-------8.进程详解

内存资源充足时,数据会从swap分区唤出和PCB重新组合为进程--------------------阻塞挂起。如果某一个进程在调度队列中,而调度其需要从键盘上读取数据,但键盘上没响应,所以cpu会把这个进程从。这是普通的双端队列,可以看到next指针是指向下一个元素的头,prev也是指向上一个元素的头。内存资源不足时,如果进程处于阻塞状态,那么会将进程的数据交换到硬盘的swap分区,,可以属于调度队列,可以属于等待队列,也可以属于设备队列。挂起的本质是--------将数据唤入或唤出到。

2025-02-17 18:12:42 406 7

原创 Linux探秘坊-------7.进程概念

可以理解为,如果两个进程共用同一份数据,但若其中一个修改了数据,那么内存会重新开辟一个数据给那个进程修改,促使两个进程独立。(processcontrolblock),Linux操作系统下的PCB是:task_struct。下使用ps axj 可以展示所有进程,那如果我只想要我刚刚运行的a.out程序的进程咋办呢?对冯诺依曼的理解,不能停留在概念上,要深⼊到对软件数据流理解上,请解释,从。任何计算机系统都包含⼀个基本的程序集合,称为。,管理所有的软硬件资源。只能直接和内存打交道。有特定的名字————

2025-02-13 21:00:34 923 3

原创 Linux探秘坊-------6.gdb

而Linux下的gcc/g++默认都是release环境,是没办法直接用gdb调试的,那么有什么解决办法嘛?初始位置在第16行(打断点的位置)按下s后进入函数,再按下finish就直接走完函数进程,回到第16行。我们开发内容时的模式一般为debug模式,方便我们进行调试,而release一般是不支持调试的。这样make出来的可执行程序就满足进行调试的要求哩。有兄弟发现gdb好难用呀,有木有更加简单好用的呢?为1,位置为mycode.c的第五行。可以看到,输入s就进入到了函数内部。走函数还是不走函数呢?

2025-02-07 21:53:06 996 2

原创 Linux探秘坊-------5.git

为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。⽬前最主流的版本控制器就是 Git。Git可以控制电脑上所有格式的⽂件,例如doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件!

2025-01-23 12:45:17 3851 91

原创 Linux探秘坊-------4.进度条小程序

如果我们使用这样的代码,会 先打印出hello bite,再停顿两秒。执行此代码后,会 先停顿两秒,再打印出hello bite。,但是明明打印在sleep前面,为什么会后打印呢?那么我们有没有办法 不用\n也能先打印呢?可以发现和上面的代码对比多了一个。

2025-01-22 11:08:12 6752 50

原创 2024年度总结:成就与挑战并存,与君协同,砥砺前行2025

这个题就是走迷宫的类型,对于第一次,没学过任何算法的我,写了40多分钟才完成,可以说是里程碑的一题,csdn大佬的回溯入门文章也给了我很大的启发,希望我之后也能写出自己的迷宫小游戏。,自己进行了思考,也逐渐了解了其中的一些奥秘,并尝试着自己写出谜底,红黑树的奇妙结构无一不展示着 编程的魅力与前人的智慧。我是一名211大学的大二学生,专业为软件工程,经历了高考的残酷斗争,我只想报复性地玩耍,然而在平淡的大学生活中,,学校的课程终究只是纸上谈兵,并不系统化,所以在大一下时,我决定了我要去 学技术。

2025-01-20 18:25:59 2066 84

原创 Linux探秘坊-------3.开发工具详解(2)

这里%是通配符,:左边匹配所有.c结尾的文件,<表示将展开的所有.c文件,一个接一个地匹配命令。,⽽是在程序执⾏时由运⾏时链接⽂件加载库,这样可以节省系统的开销。之前我们在makefile里都是直接写文件名的,这里使用 类似宏替换。静态库是指编译链接时,把库⽂件的代码全部加⼊到可执⾏⽂件中。这句话表示,SRC拿到了当前目录里 所有以.c结尾的文件。,在编译链接时并 没有把库⽂件的代码加⼊到可执⾏⽂件中。这行表示OBJ是由SRC中 所有.c变为.o得来的。,但在运⾏时也就不再需要库⽂件了。

2025-01-20 16:20:55 1004 1

原创 Linux探秘坊-------3.开发工具详解(1)

我这边写入setnu(显示行数)和setmouse=a(支持鼠标)结论:命令模式可以理解为Windows系统中的鼠标。成功使用sudo,代表白名单配置成功。创建第一个vim编辑的代码。,可以快速,高效得进行编程。,通常使用键盘上的箭头。发现已经添加了行号。

2025-01-18 17:28:16 1740 2

原创 Linux探秘坊-------2.权限与开发工具

root蓝色框框中表示,user和group都是我自己,但进行身份对比时只比较了一次,所以我自己* 先匹配的是user(匹配成功,不再匹配group了*,自然不能进行写操作。

2025-01-16 12:50:34 804 2

原创 算法妙妙屋-------2..回溯的奇妙律动

回溯算法是一种用于系统性地搜索和解决问题的算法,它以深度优先搜索(DFS)为基础,用来探索所有可能的解决方案。通过递归地尝试候选解并在必要时回退(即“回溯”),它能够高效地解决许多涉及组合、排列和分割问题的场景。

2025-01-14 13:33:22 2422 72

原创 Linux探秘坊-------1.系统核心的低语:基础指令的奥秘解析(3)

zip 压缩⽂件.zip ⽬录或⽂件:将⽬录或⽂件压缩成zip格式。

2025-01-14 09:37:33 1871 47

原创 仓颉语言实战——3.表达式

用户可以通过自定义函数和嵌套表达式,实现特定功能。代码示例:递归表达式以下代码展示了使用递归实现阶乘的计算。1} else {print(result) # 输出: 120在程序控制结构中,while和 do-while循环常用于重复执行某些操作,直到满足特定条件。而 break和 continue提供了更灵活的控制流跳转机制,return则是函数中常用的控制流表达式,用于返回结果或提前终止函数执行。仓颉语言中的 while、do-while、break、continue。

2024-12-29 14:09:52 1045 12

原创 仓颉语言实战——2.名字、作用域、变量、修饰符

开发者可以通过特定规则扩展修饰符,具体实现视项目需求而定。本文深入探讨了仓颉语言中的名字、作用域、变量和修饰符。通过具体的代码示例,展示了这些概念在实际开发中的应用。希望通过本篇文章,您能够更加熟练地使用仓颉语言的这些核心功能。下一篇文章中,我们将继续探索仓颉语言的更多特性,如函数与表达式、错误处理等,敬请期待!三方库如果您在学习中遇到任何问题,欢迎留言讨论!

2024-12-28 11:46:17 2012 110

原创 仓颉语言实战——1. 类型

类型系统是编程语言的基础之一,在仓颉语言中,类型系统不仅直观,而且支持高度灵活的静态与动态类型定义,具备强大的表达能力。基本类型:如intfloatboolstring等。复合类型:如listtupledict。用户自定义类型:通过关键字type定义。函数类型:类型化的函数签名。泛型类型:支持类型参数的定义和使用。可选类型:通过Optional实现。联合类型:通过Union表示多种可能的类型。接下来,我们通过示例代码逐一介绍这些类型的用法。仓颉语言允许开发者通过type。

2024-12-28 11:30:47 1737 51

原创 探索未来编程:仓颉语言的优雅设计与无限可能

仓颉语言应运而生,它是一种面向全场景应用开发的通用编程语言,通过其独特的设计理念和特性,为程序员提供了优雅与高效兼具的解决方案。这段代码清晰地展示了仓颉语言的基本特性,包括简洁的语法、强大的输出功能和友好的注释支持。通过简单的编译与运行流程,开发者可以快速体验仓颉语言的高效与优雅,非常适合作为学习入门的第一步程序。仓颉语言的设计理念结合了优雅性与高效性,既满足了现代应用开发的需求,也为未来编程语言的发展提供了新方向。随着工具链的完善与社区的壮大,仓颉语言有望成为下一代编程的标杆。以下是详细的安装指导。

2024-12-24 15:23:44 1950 113

原创 豆包MarsCode测评:编程效率再提升

高效:AI 生成的代码质量高,减少了手动编写的时间。智能:一键Apply功能能自动识别文件位置并生成差异视图,方便直观。全面:功能覆盖代码生成、单测生成、代码优化,满足开发全流程需求。易用:界面设计简洁,功能按钮明确,上手快。豆包MarsCode 是一款非常值得尝试的 AI 编程工具,尤其是它的一键Apply功能,为开发者提供了新的高效工作方式。从代码生成到单测覆盖,它都表现出色。如果你是一个想要提升效率的开发者,不妨试试看 MarsCode,或许它会成为你的得力助手。

2024-12-22 11:16:39 9833 158

原创 Linux探秘坊-------1.系统核心的低语:基础指令的奥秘解析(2)

cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前。(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。mv命令是move的缩写,可以用来 移动文件或者将文件改名。

2024-12-10 23:47:53 1159 15

原创 低代码企业管理的革命:Microi吾码产品深度测评

Microi吾码是一个基于**.NET 8和Vue 2/3**的开源低代码平台,支持通过简单的拖拽和配置来构建个性化的管理应用。平台自2014年创立以来,经过数次技术更新和优化,特别在2018年使用Vue重构,并于2024年正式开源。零代码/低代码开发:即使是非技术人员,也可以通过平台的可视化界面和拖拽式组件来创建应用。强大的数据展示与分析:通过iTdosRepor和iTdosBI模块,用户能够实现定制化的数据展示、报表生成和自助式数据分析。业务流程自动化。

2024-12-09 13:12:56 4920 143

原创 Microi吾码产品深度测评:轻量级企业管理应用的全方位剖析

技术框架:.NET8 + Redis + MySql/SqlServer/Oracle + Vue2/3 + Element-UI/Element-Plus平台始于2014年(基于Avalon.js),2018年使用Vue重构,于2024年10月29日开源Vue3试用地址(仅查询): https://microi.netVue2传统界面试用地址(可操作数据):https://demo.microi.net/

2024-12-03 12:36:25 3530 169

原创 算法妙妙屋-------1.递归的深邃回响:全排列的奇妙组合

全排列(Permutation)是数学中一个经典的问题,指的是从一组元素中,将所有元素按任意顺序排列形成的所有可能序列。

2024-12-01 22:40:44 3938 103

原创 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.C++11(2)

C++11 引入的可变模板参数(variadic templates)使得模板参数的数量可以是任意多个,极大地提升了 C++ 的模板编程能力。可变模板参数的引入,让函数、类和类型定义都可以处理任意数量的参数,从而大大增强了 C++ 的泛型编程能力。expand函数中的逗号表达式:(printarg(args), 0),也是按照这个执行顺序,先执行。在此基础上,可以定义不同类型和数量的模板参数,以实现功能更为复杂的泛型数据结构。例如,实现一个通用的。可变模板参数的展开是指将模板参数包展开成实际的参数。

2024-11-30 18:23:42 1463 55

原创 AIGC--AIGC与人机协作:新的创作模式

人工智能生成内容(AIGC)正在以惊人的速度渗透到创作的各个领域。从生成文本、音乐、到图像和视频,AIGC使得创作过程变得更加快捷和高效。然而,AIGC并非完全取代了人类的创作角色,更多的是与人类协作形成一种新的创作模式。在这篇博客中,我们将探讨AIGC与人类如何在创作中紧密协作,并通过代码示例展示如何将这种协作应用到实际的创作场景中。

2024-11-26 14:45:55 5202 110

原创 AIGC-----AIGC在虚拟现实中的应用前景

AIGC是一种基于人工智能的内容生成方式,包括文本、图像、音频和视频的生成。而VR是一种通过计算机模拟创造出一种虚拟环境,给用户带来沉浸式体验的技术。AIGC与VR的结合可以使虚拟环境更具动态性和互动性。例如,通过AIGC可以自动生成虚拟世界中的场景、角色对话、背景音乐等内容,使得虚拟世界能够实时适应用户的行为和喜好。

2024-11-26 14:42:05 10230 59

原创 AIGC----教育领域的AIGC:个性化学习材料生成

AIGC(AI Generated Content)是通过人工智能模型自动生成内容的技术。这些内容可以是文本、图片、视频甚至是交互式的学习材料。在教育领域,AIGC可以帮助老师生成适合学生需求的学习材料,从而更好地支持个性化学习。分析学生的学习行为和水平。基于学生的需求生成定制的学习材料。使用反馈机制来改进内容。在这些步骤中,生成对抗网络(GAN)、Transformer模型、以及自然语言处理(NLP)技术起到了重要作用。接下来,我们将逐步探讨这些技术的细节和实现。

2024-11-18 16:48:58 3469 75

原创 AIGC----生成对抗网络(GAN)如何推动AIGC的发展

生成对抗网络(GAN)由Ian Goodfellow于2014年提出,是一种由两个神经网络(生成器和判别器)相互竞争训练的框架。GAN模型的目标是让生成器学习生成逼真的样本,而判别器则负责区分生成样本与真实样本之间的区别。生成器(Generator):生成器的任务是从随机噪声中生成与真实数据分布相似的样本。判别器(Discriminator):判别器的任务是区分生成的假样本和真实样本。生成器和判别器在训练过程中通过博弈论的方式互相竞争,直到生成的样本足够逼真。

2024-11-18 16:24:17 5392 122

原创 Linux探秘坊-------1.系统核心的低语:基础指令的奥秘解析(1)

Linux 操作系统的发展历程充满了激情与创新喵~🎀萌芽期 (1983 - 1991):Linux 的历史可追溯到 1983 年,理查德·斯托曼 (Richard Stallman) 发起 GNU 计划,目标是创建一个自由软件操作系统。1987 年发布的 MINIX 是一个小型 UNIX 系统,为 Linux 提供了灵感。诞生 (1991):1991 年,芬兰大学生林纳斯·托瓦兹 (Linus Torvalds) 开始编写自己的内核并将其命名为 Linux。

2024-11-13 16:51:01 2812 138

原创 算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝

⼆叉树中的深搜(介绍)深度优先遍历(DFS,全称为DepthFirstTraversal),是我们树或者图这样的数据结构中常⽤的⼀种***遍历算法***。这个算法会尽可能深的搜索树或者图的分⽀,直到⼀条路径上的所有节点都被遍历完毕,然后再回溯到上⼀层,继续找⼀条路遍历。前序遍历中序遍历以及后序遍历。因为树的定义本⾝就是递归定义,因此采⽤递归的⽅法去实现树的三种遍历不仅容易理解⽽且代码很简洁。并且前中后序三种遍历的唯⼀区别就是 ***访问根节点的时机不同。

2024-11-04 18:28:54 2782 141

原创 算法妙妙屋-------1.递归的深邃回响:C++ 算法世界的优雅之旅

递归是一种在算法中广泛应用的思想,其主体思想是通过将复杂的问题分解为更简单的子问题来求解。基本情况(Base Case):每个递归算法必须有一个或多个基本情况,用于定义何时停止递归。基本情况是问题的 最小实例,直接返回结果,不再进行进一步的递归。递归情况(Recursive Case):当问题不是 基本情况时,递归算法会将问题拆分成更小的子问题。算法会调用自身来解决这些子问题,通常会在调用中传递参数以反映问题的简化。合并结果(Combining Results):在递归调用返回后,算法。

2024-11-02 17:43:42 4837 121

原创 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.C++11(1)

C++11 中引入的 std::array 是标准模板库(STL)中的一个容器类,提供了一个固定大小的数组,具有数组的简单性和 STL 容器的功能。定义时const修饰符后的左值,不能给他赋值,但是可以取它的地址。:与 C 风格的数组相比,std::array 提供了更好的边界安全性,可以使用。,可以根据初始值的类型自动推导变量的类型,从而减少了手动声明类型的繁琐。右值可以出现在赋值符号的右边,但是不能出现出现在赋值符号的左边,这里没有调用深拷贝的拷贝构造,而是调用了移动构造,移动构造中。

2024-10-27 11:56:02 3584 106

原创 了解AIGC——自然语言处理与生成

自动文本摘要可以从长篇文档中提取关键信息,生成简洁的摘要。这类任务中可以使用 BERT 这样的预训练模型来理解上下文,并通过生成模型生成摘要。

2024-10-26 20:03:59 4957 63

原创 重生之“我打数据结构,真的假的?”--3.栈和队列(无习题)

在C语言中,**栈(Stack)队列(Queue)**是两种非常重要的数据结构。它们广泛用于各种应用中,比如内存管理、任务调度、表达式求值等。本文将对这两种数据结构进行详细的介绍,并展示如何在C语言中实现它们。

2024-10-25 14:55:08 2174 62

原创 重生之“我打数据结构,真的假的?”--2.单链表(无习题)

在C语言中,我们可以使用结构体来定义单链表的节点。int data;// 数据部分// 指向下一个节点的指针} Node;单链表是一种灵活且实用的数据结构,通过动态内存分配和简单的插入、删除操作,使得它在许多实际应用中都能发挥重要作用。掌握单链表的基本操作,为深入学习其他数据结构奠定了基础。希望本总结对理解和使用单链表有所帮助。

2024-10-23 19:41:48 2234 85

原创 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——14.哈希(3)(布隆过滤器和位图)

bitset是 C++ 标准库中的一个类模板,主要用于管理固定大小的位集合。它能够在一个单一的对象中存储多个二进制位,非常适合用于需要高效存储和快速访问位信息的场景。Bloom Filter 是一种空间效率极高的概率性数据结构,主要用于检测某个元素是否在集合中。与bitset不同,Bloom Filter 允许出现一定的误判,即可能会错误地判断某个元素在集合中(假阳性),但绝不会漏掉真实存在的元素(假阴性)。高效存储:两者都能够在内存使用上做到高效。位操作:都可以在位级别进行操作,适合处理布尔类型的数据。

2024-10-23 19:13:26 2452 50

原创 重生之“我打数据结构,真的假的?”--1.顺序表(无习题)

顺序表是一种存储线性表的顺序存储结构,其存储单元采用一段连续的内存区域,可以直接通过索引来访问任意元素。这使得顺序表在进行随机访问时效率非常高,时间复杂度为 O(1)。然而,由于内存是连续的,所以在插入或删除元素时,可能需要移动大量的数据,因此插入和删除操作的时间复杂度较高。首先,定义顺序表的结构体。该结构体包含一个指针指向存储数据的数组,以及顺序表的当前长度和最大容量。10// 顺序表结构体定义int *data;// 存储数据的数组int length;// 当前顺序表的长度// 顺序表的容量。

2024-10-22 20:29:23 2126 53

原创 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——8.stack&&queue&&priority_queue(无习题)

C++ 标准模板库(STL)提供了一系列容器,其中stack和queue是两种常用的适配器容器。它们基于底层的序列容器(如vectordeque)实现,分别用于支持栈和队列的操作模型。栈(stack)遵循“后进先出”(LIFO)的原则,而队列(queue)遵循“先进先出”(FIFO)的原则。本文将详细介绍这两种容器的特点、使用方法、实现机制及其应用场景。stackqueue以下是一个完整的示例代码,展示了stackqueue和// stack 示例s.push(1);s.push(2);

2024-10-22 20:21:38 1612 62

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除