
笔记
畜牧场不看动漫
这个作者很懒,什么都没留下…
展开
-
Makefile的快速入门
Makefile的使用:首先写目标文件编译时需要依赖哪些文件如:main: main.c fun1.o #表示目标文件main的生成需要main.c和fun1.o等依赖文件 gcc main.c fun1.o -o main #对这些文件进行编译并连接成main可执行文件fun1.o: fun1.c gcc -c fun1.c #当main的依赖文件没有fun1.o时,需要继续寻找fun1.o生成的方法clean: rm *.o main #当要删除没有用的文原创 2022-05-19 15:44:36 · 435 阅读 · 0 评论 -
cp函数的自我实现
在Linux系统中,经常需要用到cp函数来实现对文件的拷贝,其原理无非就是将源文件打开,将其读到字节流中。然后将字节流写到目标文件中去,在这里如果提前定义一个数组用来存放数据,定义小了无法将数据全部复制,定义大了浪费空间,于是此次我们采用动态申请的方式来灵活实现。申请的大小可以采用lseek函数的返回值来确定堆空间申请多少合适,lseek函数原型如下off_t lseek(int fd, off_t offset, int whence);第一个参数fd为要进行偏移定位的文件描述符,第二个参数o原创 2022-04-29 02:25:39 · 312 阅读 · 0 评论 -
C语言实现快速排序
前述快速排序算法是一种高效的排序算法。在平均情况下,排序n个项目要O(nlogn)次比较。在最坏状态下需要O(n^2)次比较,相当于冒泡排序,但这种情况并不常见。快速排序使用分治法(Divide and conquer)策略来把一个串行分为两个串行。特点:List item其两个子表的形成都是采用从两头向中间交替式逼近法。List item每趟中对子表的操作都相似,可以采用递归算法算法步骤1.从数列中挑出一个元素,称为“基准”(pivot);2.重新排列数列,把比基准小的元素原创 2022-04-26 22:21:26 · 1228 阅读 · 0 评论 -
volatile在程序设计中有什么作用?
问题引出:对于一些变量的存取,为了提高存取效率,编译器有时会把变量读取到一个寄存器中缓存起来。当以后再取变量值时,直接从寄存器中取值,而不需要从内存中去读取。在单线程环境下,这样的优化能显著提高程序运行效率,但是,在多线程环境下就会有潜在的风险。假设存在一个线程1和线程2共享的变量sharedObj,如果在线程11中把sharedObj缓存到寄存器,当线程2对内存中的sharedObj修改时,线程1无法读取到这个最新的值,因为线程1会从寄存器读取,而不是在内存读取。在多线程编程的环境下,编译器优化有可能原创 2022-04-20 13:06:47 · 310 阅读 · 0 评论 -
static(静态)变量有什么作用?
在C语言中,关键字static的意思是静态,他的主要作用有两个:1.在函数体内静态变量具有“记忆”功能,即一个被声明为静态的变量只会被初始化一次,该函数在调用过程中,其值保持不变。一个变量被定义为静态变量就会将其放到静态数据区,而不是栈区。也就是说一个静态变量只有在声明时对其进行一次出初始化,如果声明时未对其进行赋值操作:静态整型默认为0‘’静态字符默认为空;下面来看一个例子void add(){ static int a = 0; //定义一个静态整型a,并对其初始化为0 a++;原创 2022-04-18 16:44:46 · 17326 阅读 · 1 评论 -
Linux学习之cp函数编写
cp命令是我们常用的文件复制命令,他可以将一个文件的内容复制到另一个文件。其调用格式为:cp 文件1.后缀 文件2.后缀。我们都知道我们调用的库函数都是别人编写好的我们需要时可以方便地调用,那么复制命令cp的函数是怎样编写的呢?话不多说,上代码#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include<stdio.h>#include <unistd.h原创 2021-08-03 00:52:01 · 851 阅读 · 0 评论 -
2021-07-28
Linux文件写入操作笔记#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include<stdio.h>#include <unistd.h>#include<string.h>int main(){ int fd; char* buf = "chenlichen hen shuai!"; //定义字符指针存原创 2021-07-28 00:31:57 · 86 阅读 · 0 评论