- 博客(21)
- 收藏
- 关注
原创 linux高级编程 进程控制与描述
当该函数再主进程中使用pthread_exit()时主进程退出, 线程还在运行,只有当所有线程退出时进程才会结束.进程之间的切换对系统的开销很大,而后就创建了线程,它允许将进程的资源从主体中剥离出来,程序的执行可以理解为上下文的切换(保存老进程的cpu运行状态,加载新进程),活跃的,由该关键字声明的变量,是直接读取寄存器存储值,转换速度很快.注意: 一个进程只能使用一个闹钟函数, 多次使用将会刷新时间,闹钟函数, 当定时器指定是实现到后,系统会想进程发送。一个程序至少有一个进程, 一个进程至少有一个线程.
2023-07-25 15:42:55 126
原创 c语言实现默认参数的两种方法
第一种使用了可变参宏, 这个版本没有使用延迟展开, 兼容性比较好,但是无法处理无参数情况.将变量转化为字符串, 以实现由。的效果.存在问题消耗运行算力.第二种使用宏定义中的。
2023-06-27 16:52:06 703
原创 c语言内建函数
CPU 的运行速度很高,而外部 RAM 的速度相对来说就低了不少,所以当 CPU 从内存 RAM 读写数据时就会有一定的性能瓶颈。CPU 读写内存 RAM 中的数据时,会先到 cache 里面去看看能不能找到。CPU 读写 cache 的速度远远大于内存 RAM,所以通过这种方式,可以提高系统的性能。从fun3()函数可以看出来,他被放在fun1()之前的地址,栈的地址是来回使用的。在c语言中每个函数在调用其他函数时,他本身就会被放在一个单独的栈。栈帧就是栈最高位的地址(栈是由高地址向低地址扩展)
2023-06-13 11:36:18 55
原创 内联函数23.6.13
对上面文件进行编译,后使用objdump反编译进行查看,可以看到。fun1和fun2的区别,将fun1的。删除结果也是相同的,但是不会报错。fun2函数在main函数内。
2023-06-13 10:45:26 54
原创 c语言使用笔记
在32为编译器下的可变参函数,为char,int,指针,long int 都是为4字节,sizeof(int*),sizeof(double*)在64编译器下为8字节;无论是char,int,float,字符串,可变参数都会为他申请8字节的空间。但是float,double,long long int 则为8字节空间。在64位编译器下的可变参函数,默认每一个可变参数都占都占8字节。可变参的主要使用方法,是将指针指向连续的下一位可变参数的地址。
2023-06-09 20:54:20 30
原创 C51单片机学习
VCC,GND单片机电源,RST高电平复位编程方式有ISP和IAP,学习使用的ISP。GPIO端口一共有四组P0,P1,P2,P3。P0-2:P0有地址位,都可独立控制。P3:有普通的GPIO功能和,中断程序的输入端口。软件使用kail 4或者kail 5进行编程,下列打开才可以正常完成程序下载使用PZ-ISP 或者 STC-ISP进行程序下载。
2023-04-18 21:15:27 927
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人