C语言
文章平均质量分 78
C语言
N-1-萘乙基二胺盐酸盐
软件工程
展开
-
修改线程栈的大小
如果栈太大会影响程序性能,如果栈太小可能会发生溢出,溢出会触发异常,操作系统会调用异常处理程序解决溢出,异常处理程序会进行栈扩展。想要改变默认线程栈的大小,但又不想自己手动处理线程栈的分配问题,使用pthread_attr_getstacksize函数和pthread_attr_setstacksize函数就非常方便,短短几行代码就能实现。接着调用pthread_create()创建线程,该线程打印自己线程栈的大小,完毕后调用 pthread_attr_destroy()来销毁属性对象。原创 2023-05-23 16:26:57 · 1589 阅读 · 0 评论 -
GDB的基本使用
fp: 帧指针(当前堆栈帧)$pc: 程序计数器。$ps: 处理器状态。原创 2023-04-18 16:34:47 · 341 阅读 · 0 评论 -
对sighandler_t类型的理解
typedef void (*sighandler_t)(int);原创 2022-05-23 09:35:19 · 1215 阅读 · 0 评论 -
getaddrinfo()和getnameinfo()函数用法
Linux提供了一些强大的函数(称为getaddrinfo和getnameinfo)实现二进制套接字地址结构和主机名、主机地址、服务名和端口号的字符串表示之间的相互转化。当和套接字接口一起使用时,这些函数能使我们编写独立于任何特定版本的协议的网络程序。#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>int getaddrinfo(const char *host, c...原创 2022-05-21 14:00:19 · 1634 阅读 · 1 评论 -
系统编程之文件I/O
目录1.文件描述符2.文件共享3.原子操作4.函数open和openat5.函数creat6.函数close7.函数lseek8.函数read9.函数write10.函数dup和dup211.函数sync、fsync、fdatasync12.函数fcntl13.函数ioctl文件描述符对于内核而言,所有打开的文件都通过文件描述符引用。文件描述符是一个非负整数。当打开一个现有文件或创建一个新文件时,内核向进程返回一个...原创 2022-05-20 13:20:48 · 450 阅读 · 2 评论