- 博客(9)
- 收藏
- 关注
原创 Linux权限概念
举个形象的例子就是:林三是文件的所属者,他在一家公司打工,这个公司有几个组相互竞争,林三不想让其他人有访问文件的权限,但想让自己的组员可以访问权限,这个时候他的组员就有了“文件所属者所在的组”的权限。第一位表示文件类型:d表示目录,-表示普通文件,l表示软链接(类似Windows的快捷方式),b表示块设备文件(例如硬盘,光驱),p表示管道文件,c表示字符设备文件(例如屏幕),s表示套接口文件。(要去除的权限掩码)进行按位与和按位取反运算,从而得到新的权限掩码,用于限制文件的访问权限。
2023-07-21 15:29:45
193
1
原创 用C语言判断一个单链表是否带环
首先理清楚思路,如何判断一个链表是否带环。如果针对某一个已知的链表来说,我们很容易就可以判断是否是一个带环的链表,但这种方式并不通用。于是我们采取一快一满两种指针的方式来对其进行判断,如果是一个带环链表的话,快指针必然会再次和慢指针相遇。
2023-05-07 14:40:18
342
原创 C++的命名空间和输入输出
此概念的出现是为了解决C语言中部分命名冲突的问题。定义命名空间需要使用namespace关键字,然后衔接命名空间的名字和一对{},将命名空间的成员放入其中,如以下格式:namespaceme。
2023-04-18 16:36:27
211
1
原创 VS调试技巧(1)
在没遇到函数的时候,F10和F11的运行类似,但当遇到函数的时候,F10会直接调用函数并进入到下一句,而F11会进入到函数内部执行相关的操作,便于我们观察函数内部的细节。Ctrl+F5是只执行但不调试,在VS环境下与F5的展现差别不大,但在有的编译器里会一闪而过,就是看不到内容而只是执行,不便于调试。环境的准备,需要先选择debug版本,release版本是面向用户的,VS会对其进行一定的优化。F11是逐语句,遇到函数,会进入函数,会执行代码的每个细节,力度更细。反汇编功能能让我看见代码的汇编语言形式。
2022-09-11 15:26:17
1741
原创 函数栈帧的创建及销毁(在VS 2013环境下)
在进行了三次pop操作将edi,esi,ebx弹出之后,进行一个mov操作让ebp和esp回到最开始的位置,我们在当时就存储了一个main函数的初始位置,再进行一个pop操作就可以让ebp指针回到原本的位置。首先main函数开始运行,接下来走到了c=Add(a,b)这一条语句,进入到Add函数,这个红色的框假定是为Add运行而分配的空间。根据我们的理解,main函数在这之前是被别的函数调用的,而在这里我们进入到main函数,那么调用main函数的那个函数的栈帧在此之前就创建好了。
2022-09-10 16:16:17
281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅