- 博客(199)
- 资源 (17)
- 问答 (3)
- 收藏
- 关注
原创 第9章 字符串、字符和字节
你需要向函数传递一个参数,它的值就是保存了需要进行长度测试的字符串的数组的长度。编写一个名叫my_strcpy_end的函数取代strcpy函数,它返回一个指向目标字符串末尾的指针(也就是说,指向NUL字节的指针),而不是返回一个指向目标字符串起始位置的指针。第一次出现的位置,找到后函数返回一个指向该位置的指针。基本一致,只是它返回的是一个指向字符串中该字符最后一次出现的位置(最右边那个)。的返回值是个无符号类型的值,而指针减法的值应该是个有符号类型。第一次出现的起始位置,并返回一个指向该位置的指针。
2024-05-11 13:53:18 1009
原创 第4章 Vim编辑器与Shell命令脚本
在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式再进行文档编辑工作。而每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim中,无法直接从输入模式切换到末行模式。Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回非零值。if条件测试语句包括单分支、双分支与多分支等三种结构,其中多分支结构是最灵活且最复杂的结构,其结构形式为。如果需要依据用户的输入参数执行不同的操作,最方便的条件测试语句是什么?
2024-05-09 23:01:39 818
原创 第3章 管道符、重定向与环境变量
系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫做PATH,可以简单地把它理解成是“解释器的小助手”,作用是告诉Bash解释器待执行的命令可能存放的位置,然后Bash解释器就会乖乖地在这些位置中逐个查找。PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash解释器对Linux命令的查找。:Linux系统检查用户输入的命令是否为“别名”命令,即用一个自定义的命令名称来替换原本的命令名称。命令A | 命令B | …将命令A的输出作为命令B的输入。
2024-05-09 12:01:18 704
原创 第8章 数组
但a实际上是整型数组的起始位置,所以作为指针获得的这个值实际上是数组的第一个整型元素。传递给函数的是指针的拷贝,对它进行修改并不会影响指针参数本身,但函数可以通过对指针执行间接访问修改调用程序的值。m1是一个x行y列的矩阵,m2是一个y行z列的矩阵。:经常,一个程序80%的运行时间用于执行20%的代码,所以其他80%的代码的语句对效率并不是特别敏感,所以使用指针获得的效率上的提高抵不上其他方面的损失。如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。
2024-05-08 19:13:12 904
原创 第7章 函数
提示:这个技巧很简单——你每发现一个数字,把当前值乘以10,并把这个值和新数字所代表的值相加。:这个函数假定它被调用时传递给它的正好是10个元素的数组。如果参数数组更大一些,它就会忽略剩余的元素。如果传递一个不足10个元素的数组,函数将访问数组边界之外的值。:当存根函数被调用时,打印一条消息,显示它已被调用,或者也可以打印作为参数传递给它的值。变量的名字,自二个参数是省略号前最后一个有名字的参数。的变量,它用于访问参数列表的未确定部分。头文件,他是标准库的一部分。的变量,与这几个宏配合使用,访问参数的值。
2024-05-08 13:55:47 866
原创 第6章 指针
指针初始化为一个常量字符串的地址。而在C语言中,常量字符串是不可变的,尝试修改它们的行为是未定义的,可能导致程序崩溃或产生不确定的行为。函数把参数字符串中的字符反向排列。请使用指针而不是数组下标,不要使用任何C函数库中用于操纵字符串的函数。在有些机器上,编译器在内存位置零存储0这个值。如果一个值的类型无法简单地通过观察它的位模式来判断,那么机器是如何知道应该怎样对这个值进行操纵的。,并将字符串内容赋值到数组中,而不是直接赋值给指针,这样就能安全地修改字符串中的内容。在写这个程序时遇到了一个问题,在。
2024-04-28 10:32:41 369
原创 第5章 操作符和表达式
编写一个程序,从标准输入读取字符,并把它们写道标准输出中。除了大写字母字符要转换为小写字母之外,所有字符的输出形式应该和它的输入形式完全相同。这个函数的返回值是把value的二进制位模式从左到右变换一下后的值。根据上述学习到的知识点:编译器只要不违背优先级和结合性规则,它可以自由决定复杂表达式的求值顺序。函数的返回值应该是2550136832,它的二进制位模式是。编写函数时要注意不要让它依赖于你的机器上整型值的长度。一样快,都需要先判断a与3的值,然后再对i进行赋值。下面这个程序的结果是什么。
2024-04-26 09:11:32 277
原创 利用tree-sitter提取代码文件中的函数和注释
提取.c或.cpp文件中的带有注释的函数,作为训练数据喂给大语言模型。要求是能够批量处理,提取函数前带有注释的函数和注释,并将函数中的注释同样提取出来作为辅助训练数据,结果保存在JSON文件中。如何将conda的虚拟python环境添加到pycharm中见。
2024-04-25 18:50:37 839
原创 第2章 新手必须掌握的Linux命令
使用uptime命令查看系统负载时,对应的负载数值如果是0.91、0.56、0.32,那么最近15分钟内负载压力最大的是哪个时间段。whereis命令,用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为。若想查看的文件具有较长的内容,那么使用cat、more、head、tail中的哪个命令最合适。netstat命令,用于显示如网络连接、路由表、接口状态等的网络相关信息,语法格式为。which命令,用于按照指定名称快速搜索二进制程序(命令)所对应的位置,语法格式为。
2024-04-24 09:23:03 672
原创 第4章 语句
如果src字符串的长度小于n,你必须在复制后的字符串尾部补充足够的NUL字符,使它的长度正好为n。注意调用copy_n时,它应该在dst[0]至dst[n-1]的空间中存储一些东西,但也只局限于那些位置,这与src的长度无关。编写一个程序,读入一个值,计算并打印出它的平方根。请编写一些语句,判断year这个年份是否为闰年,如果它是闰年,把变量leap_year设置为1,如果不是,把leap_year设置为0。但在这里,我的目的是让你自己规划程序的逻辑,所以你最好不要使用那些处理字符串的库函数。
2024-04-23 13:34:17 851
原创 第3章 数据
这两台机器的缺省整型长度并不相同,一个是16位,另一个是32位。程序所使用的有些变量的值并不太大,足以保存于任何一台机器的缺省整型变量中,但有些变量的值却较大,必须是32位的整型变量才能容纳它。一种可行的解决方案是用长整型表示所有的值,但在16位机器上,对于那些用16位足以容纳的值而言,时间和空间的浪费不可小视。在32位机器上,也存在时间和空间的浪费问题。试问,在函数第二次调用开始时该变量的值和函数第一次调用即将结束时的值有无可能相同?一个无符号变量可不可以比相同长度的有符号变量容纳更大的值。
2024-04-20 22:18:43 379
原创 第2章 基本概念
编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确地成对出现。注意:你不必担心注释内部、字符串常量内部和字符常量形式的花括号。是非题:因为C(除了预处理指令之外)是一种自由形式的语言,唯一规定程序应如何编写的规则就是语法规则,所以程序实际看上去的样子无关紧要。如果你对list.c做了修改,哪些文件需要重新编译?如果是lish.h或者table.h做了修改,又有哪些文件需要重新编译?\100、\x40、\x100、\0123、\x0123的值又分别是多少?,得到的结果中就会包含字符’]'。
2024-04-18 23:15:39 276
原创 大语言模型开发各个阶段的评估方法
思考:第一次接触这个问题的时候,我想到的对大语言模型的评价是针对专用模型的评价,在公用的开源数据集或者基准上计算评价指标的得分,如果得分高则意味着大语言模型性能好。场景:我们要设计一个专有领域的大语言模型,设计思路是先选择开源的基座模型,使用领域相关的数据集对基座模型进行微调得到通用的大语言模型,再使用特定任务的数据集进一步对基座模型进行微调得到专用的大语言模型。根据我们设计领域特定大语言模型的思路,对大语言模型开发过程的评估主要有两个方面,一个是数据的评估,一个是模型的评估。
2024-04-02 23:53:39 849
原创 第1章 快速上手
当一个数组作为函数的参数进行传递时,函数无法知道它的长度。因此,gets函数没有办法防止一个非常长的输入行,从而导致input数组溢出。fgets函数要求数组的长度作为参数传递给它,因此不存在这个问题。声明只需要编写一次,这样以后维护和修改它时会更容易。同样,声明只编写一次消除了在多份拷贝中出现写法不一致的机会。依旧没有get到原题的意思…只是做了一个简单的冒泡处理。感觉和原题意思的理解有点差别。
2024-04-02 13:49:36 434
转载 【javadoc 异常】java.lang.IllegalArgumentException
javadoc -d -dictionary -author -version ... xxx.java异常
2023-02-28 14:01:01 622
转载 Visual C++在Win11上无法运行的解决方案
本人win11实机验证解决方法:在win11中安装完VC++6.0后,找到VC++6.0的安装目录X:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Bin\文件夹下的MSDEV.exe,将其改名为MSDEV1.exe,再给它在桌面新建一个快捷方式,右键单击此快捷方式-属性-兼容性-勾选“以兼容模式运行这个程序”,接着操作系统选择windows 7,保存关闭,双击快捷方式MSDEV1.exe即可运行。作者:王小伙链接:https:/
2022-02-28 22:12:05 18461 18
原创 AADL学习笔记
AADL(Architecture Analysis and Design Language)系统(体系)结构分析与设计语言,是一种面向嵌入式实时系统领域的建模语言,具有语法简单、语义精确、功能强大、可扩展等优点,能够对嵌入式软件的功能和非功能属性进行建模和描述,并且能够在开发早期对系统进行分析与验证。AADL三种标准模型描述方式{文本化XML图形化AADL三种标准模型描述方式\begin{cases}文本化\\XML\\图形化\end{cases}AADL三种标准模型描述方式⎩⎪⎨⎪⎧文本化XML图形
2021-09-19 11:51:39 2070
转载 AADL(Architecture Analysis and Design Language) 结构分析和设计语言
文章目录一、AADL的诞生二、AADL简介2.1 构件描述2.2 构件的种类2.2.1 软件构件2.2.2 硬件构件2.2.3 组合构件2.3 特征2.4 属性2.5 扩展三、AADL的研究现状3.1 需求阶段的AADL研究3.2 设计阶段的AADL研究3.2.1 AADL语言扩展3.2.2 AADL形式语义3.2.3 AADL模型分析与验证3.3 实现阶段的AADL研究3.3.1 基于AADL的模型驱动开发3.3.2 代码生成3.4 部署与后开发阶段的AADL研究一、AADL的诞生UML等ADLs(.
2021-09-18 12:24:24 3386
原创 UML的简单理解
文章目录一、UML二、UML模型图1、用例图2、类图3、顺序图4、协作图5、状态图6、活动图7、构件图8、部署图一、UMLUML(Unified Modeling Language)统一建模语言,是一种图形化语言,为软件开发的所有阶段提供模型化和可视化服务。二、UML模型图1、用例图静态建模;展现了系统的功能、用户和系统的交互情况。{参与者用例:一个功能单元\begin{cases} 参与者\\用例:一个功能单元 \end{cases}{参与者用例:一个功能单元{关联:参与者与用例最基础的交
2021-09-15 09:33:33 1039
原创 快速排序qsort
今天碰到C语言库函数qsort,自己却不知道,感觉白学了需要头文件#include<stdlib.h>函数用法qsort(nums,numsSize,sizeof(int),cmp)//nums数组首地址,numsSize数组长度,类型int其中cmpint cmp(const void* _a,const void* _b){ return *(int*)_a-*(int*)_b;//从小到大,强制类型转换 //return *(int*)_b-*(int*)_a;//
2021-09-08 13:20:17 131
原创 旋转数组(三种解决方案)
将数组元素向右移动k个位置,k非负文章目录第一种方案第二种方案第三种方案第一种方案解决思路:将数组中的元素复制到一个新数组中,将数组元素依次分配到新的位置上时间复杂度:O(n)空间复杂度:O(n)void rotate(int* nums,int numsSize,int k){ k%=numsSize; int newArray[numsSize]; for(int i=0;i<numsSize;i++) newArray[i]=nums[i]; for(int j=0.
2021-09-07 20:59:24 677 1
原创 删除有序数组中的重复项并输出数组长度
这是LeetCode上的一道练习题,我一开始是用指针写的int removeDuplicates(int* nums,int numsSize){ int *p=nums,*q=nums+1; while(q-nums<numsSize){ if(*p==*q); else *++p=*q; q++; } return p-nums+1;}我在VS上面测试的时候是完全正确的,但是在LeetCode网站上提交的时候报错:ERROR:heap-buffer-overfl
2021-09-06 20:48:45 245
原创 蝶形算法(Butterfly Algorithm)未更完
文章目录一、蝶形算法的作用二、蝶形算法的原理三、蝶形算法的实现一、蝶形算法的作用二、蝶形算法的原理三、蝶形算法的实现
2021-09-05 22:59:14 5804 3
原创 tracker_benchmark_v1.0配置过程中出现的问题及解决方案
毕业设计是CV方向的,一直在调试tracker_benchmark_v1.0的代码,遇到了很多的问题,本篇博客记录我遇到的问题和解决的办法,也许还有错误的地方,欢迎大家一起讨论研究~一、介绍和注意事项我用的环境是MATLAB2019b首先是到Visual Tracker Benchmark官网下载压缩包解压得到文件后会有十五个项目,这里我对几个重要的项目进行介绍项目名称存储的内容或功能figsoverall文件夹下存储perfPlot.m运行得到的图像,每次运行结果会得到24
2021-06-07 14:40:15 1867 9
原创 KCF源码下载
刚接触CV领域,想在MATLAB上跑一下KCF算法,还特意在csdn下载了一个C++代码,又是配VS又是配OpenCV,不好用…直接链接KCF作者网页链接下滑找到KCF文章论文pdf、MATLAB代码、C++代码全在
2021-04-14 15:06:10 451
原创 数据库系统理论——关系代数、关系演算
一、关系代数1.四类运算符(1)集合运算符∩(交)、∪(并)、—(差)、X(广义笛卡尔积)(2)比较运算符>、≥、<、≤、=、≠(3)专门的关系运算符σ(选择)、π(投影)、⋈(连接)、÷(除)(4)逻辑运算符与、或、非例1 查询信息系(IS系)全体学生σSdept=‘IS’(Student)例2 查询年龄小于20岁的学生σSage<20(Student)例3 查询学生的姓名和所在系πSname,Sdept(Student)例4 查询学生关系Student中都有哪些系
2020-08-15 15:52:12 4872
原创 生产者-消费者问题、哲学家进餐问题(伪代码)
1.生产者-消费者问题#define N 100typedef int semaphore;semaphore mutex=1;semaphore full=0;semaphore empty=N;//刚开始时无物品void producer(void){ int item; while(true){ item=produce_item(); P(empty); P(mutex); insert_item(item); V(mutex); V(full); }}void
2020-08-15 14:39:51 1122
原创 数据库系统理论——关系数据库标准语言sql
一、sql概述1.sql(Structured Query Language)结构化查询语言,是关系数据库的标准语言2.sql的特点:综合统一、高度非过程化、面向集合的操作方式、同一种语法结构提供多种使用方法、语言简洁,易学易用二、sql的应用学生-课程数据库为例学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:Course(Cno,Cname,Cnpo,Ccredit)学生选课表:SC(Sno,Cno,Grade)1.数据定义(1)模式定义crea
2020-08-15 09:02:10 363
原创 软件工程(速成)——第十章 软件测试
一、软件测试1.(软件)测试的定义或目标(1)测试是为了发现程序中的错误而执行程序的过程(2)好的测试方案极可能是发现了迄今为止尚未发现的错误的测试方案(3)成功的测试是发现了至今为止尚未发现的错误的测试2.测试方法(1)黑盒测试(功能测试)把程序看作一个黑盒子;完全不考虑程序的内部结构和处理过程;是在程序接口进行的测试(2)白盒测试(结构测试)把程序看成装在一个透明的白色盒子里;测试者完全知道程序的结构和处理算法;按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否能按预定要求工作.
2020-08-13 21:14:32 1789
原创 操作系统(复习)——平时练习题归纳总结
1.写出下列数据在计算机的十六进制表示形式:(1)无符号整数100(2)有符号整数-100(3)字符串‘DLUT’解:(1)0110 0100 = 64h(2)1001 1100 = 9Ch(3)D-68(十进制)-44(十六进制)、L-76-4C、U-85-55、T-84-54‘DLUT’ -> 444C55542.试画出下面四条语句的前驱图:S1: a=w+xS2: b=y-zS3: c=a+bS4: d=c+e并用Bernstein条件分析哪些语句可以并发执行,哪些语句
2020-08-12 21:00:13 844
原创 操作系统(复习)——纲要
第一章 操作系统引论第二章 进程管理(处理机管理)第三章 存储管理第四章 文件管理第五章 设备管理第六章 用户接口管理(略)
2020-08-12 19:23:54 190
原创 操作系统(复习)——第五章 设备管理
一、I/O通道1.什么是I/O通道:一种特殊执行I/O指令的处理机,指令类型单一,没有自己的内存,与CPU共享内存2.I/O通道的作用:建立独立的I/O操作,解脱CPU对I/O的组织和管理。CPU->发送I/O命令->通道->执行二、I/O控制方式1.查询控制方式(条件传送方式)(1)原理:CPU查询外设工作状态->外设就绪->数据输入或输出;多个外设的情况:CPU按照一定的顺序查询外设的工作状态(2)查询控制方式的缺点:CPU需循环等待导致软件开销大,CPU使用.
2020-08-12 19:16:53 1178
原创 操作系统(复习)——第四章 文件管理
一、文件系统概念1.文件系统:在操作系统中对文件进行管理的有关软件和数据的集合,即操作系统管理文件的方法。2.文件系统主要五个功能对文件进行按名存取为用户提供统一和友好的接口对文件和文件目录进行管理对文件存储空间进行分配和管理文件的共享与保护二、文件逻辑结构对文件的逻辑结构提出的基本要求:提高检索速度、便于修改、降低文件存储费用。1.文件逻辑结构的类型(1)有结构的记录式文件文件构成:由1个以上的记录构成记录长度:定长或变长分类(按记录的组织方式):①顺序文件:定长(也可
2020-08-12 17:33:51 697
原创 操作系统(复习)——第三章 存储管理
一、存储管理基本概念1.逻辑地址和物理地址地址空间是逻辑地址的集合存储空间是物理地址的集合二、连续分区存储1.单一连续分配方式最简单的一种存储管理方式,但只能用于单用户、单任务的OS存储管理方法:将内存分为系统区和用户区。采用静态分配方式,即作业一旦进入内存,就要等待它运行结束后才能释放内存。主要特点:管理简单,只需要少量的软件和硬件支持,便于用户了解和使用。但因内存中只装入一道作业运行,内存空间浪费大,各资源的利用率也不高。例一个容量为256KB的内存,操作系统占用32KB,.
2020-08-12 12:31:41 3596
程序设计语言原理 课后作业及知识点
2022-02-24
嵌入式系统实验六 网卡驱动
2022-02-24
嵌入式系统实验五 数码管实验
2022-02-24
嵌入式系统实验四 GPIO中断实验
2022-02-24
嵌入式系统实验三 串口收发及线程编程实验
2022-02-24
嵌入式系统实验二 ARM汇编基础编程
2022-02-24
嵌入式系统实验一 Linux内核编译及开发板系统烧录验证实验
2022-02-24
实验4 数据控制(完整性部分).docx
2020-04-21
实验3 数据控制(安全性部分).docx
2020-04-20
函数的形参是类对象+函数的形参是类对象的引用或者指针+函数的返回值是类对象.cpp
2019-10-21
Ubuntu中opt error invalid subprograms
2023-11-02
领域特定语言是偏向需求语言还是设计语言
2023-02-21
Java中使用Calendar.DAY_OF_MONTH
2023-02-13
java程序报错(报错信息放在最后)
2022-09-20
并行处理矩阵相乘OpenMP
2022-03-23
MATLAB结构体变量导入excel中字符串没有显示
2021-10-17
LeetCode数组题:删除有序数组中的重复元素并返回数组长度
2021-09-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人