![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux基础
文章平均质量分 50
wang xm
这个作者很懒,什么都没留下…
展开
-
C++ Linux环境下创建文件记录数据
#include <stdio.h>#include <string>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>remove("./log.txt");//先删除记录文件int fd; if ((fd = open ( "./log.txt" , O_WRONLY|O_APPEND|O_CREAT原创 2022-03-01 19:47:23 · 1531 阅读 · 0 评论 -
Linux下C++查看程序运行时间间隔
Linux C++查看程序运行间隔原创 2022-03-01 15:20:07 · 1220 阅读 · 0 评论 -
write/read int 类型数据
1、int大小int main(){ int a=0; cout<<sizeof(a)<<endl; return 0;}输出结果是42、写int类型数据int a= 10;write(socket,(char*)&a,sizeof(a));原创 2021-08-04 15:02:04 · 819 阅读 · 0 评论 -
Linux报错 No space left on device
参考使用df-h 和df -i分别查看磁盘空间和节点数发现/dev/vda1占用过多然后再/下查看文件占用空间再在/root下查看,发现一堆core.*的文件经查,这些都是程序报错(coredump)原因报告,全删掉就可以了,然后就ok了。...原创 2021-07-22 12:34:55 · 176 阅读 · 0 评论 -
多线程的write和read
对于write和read,由于缓冲区不足或者中断等问题,可能导致读不完或写不完,这也是为什么write和read分别返回的是成功的字节数的原因。所以书中给出了另一种操作readn和writen,保证了读写的完整性,但不保证原子性。 ssize_t /* Read "n" bytes from a descriptor */ readn(int fd, void *vptr, size_t n) { size_t nleft; ssize_t nread;原创 2021-07-17 20:45:35 · 1403 阅读 · 0 评论 -
Linux中不带缓冲区的write和带缓冲区的printf/fputs区别,以及Linux中的进程缓冲区拷贝
在Linux中,write是不带缓冲区的函数,也就是其写完以后不会在缓冲区中存储,直接写出。考虑以下代码1、使用fputs# include <unistd.h># include <stdio.h># include <stdlib.h># include <errno.h> int main(void){ FILE *stream; if ((stream = fopen ( "./log.txt" , "a" ))原创 2021-06-09 09:56:28 · 1243 阅读 · 0 评论 -
Linux中的write及read字节数
write函数如果强行多写的话,会在后面以\0补充#include <unistd.h>#include<stdio.h>#include<error.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<iostream>#include<string.h>using namespace std;int m原创 2021-06-07 17:47:26 · 733 阅读 · 0 评论 -
Cmake环境下如何链接外部库
我们在使用Linux系统库pthread时,这不是系统库,除了在头文件中包含#include<pthread.h>外,还需要连接其静态库 libpthread.a,来创建多线程。gcc编译cmake编译如果不添加连接库,make时会出现如下提示:提示我们找不到这个函数,所以我们需要连接库add_executable(server main.cpp)TARGET_LINK_LIBRARIES(server pthread)注意:(1)格式TARGET_LINK_LIBRAR原创 2021-06-03 12:16:20 · 2308 阅读 · 0 评论 -
Linux系统函数查看流对象是行缓冲还是全缓冲还是无缓冲
Linux系统函数查看流对象是行缓冲还是全缓冲还是无缓冲有关全/行/无缓冲的区别在《UNIX环境高级编程》第三版131页有这么个程序(已化简)# include <unistd.h># include<stdio.h># include<error.h># include <stdlib.h> # include <errno.h> # ifdef _IONBF//等同于 #if define(_IONBF)int is_unbu原创 2021-05-24 20:06:21 · 169 阅读 · 0 评论 -
Linux下的实际ID(用户)与有效ID以及文件拥有者
Linux下的实际ID(用户/组)与有效ID参考文献.概要实际用户ID是谁拥有了这个文件(可执行文件,文件夹),有效ID是该文件执行时所具有的ID(权限),SUID(设置用户权限)是可以修改该文件的权限(特指二进制可执行文件)使得其在执行时具有实际用户ID的权限;而SGID是设置组权限,如果作用于文件夹,那么在该文件夹里创建的文件都是属于该目录所属的组。程序指令chown userid a.out : 设置该文件的用户IDchmod u+s a.out : 置位其中的SUID#include原创 2021-05-18 09:51:08 · 508 阅读 · 0 评论