linux_c
文章平均质量分 77
Wmll1234567
坚持不可小瞧
展开
-
linux下多线程编程、线程间同步通信及应用详解、及踩过的坑
0.写在前面有关进程讲解另一篇博客:https://blog.csdn.net/Wmll1234567/article/details/114653213?spm=1001.2014.3001.5501在面试时总会被问到 进程和线程区别?如何通过linux命令查看线程?原创 2021-05-26 13:56:43 · 850 阅读 · 2 评论 -
linux进程切换、多进程编程、进程间通信详解
1.进程相关概念介绍1.查看电脑上运行的进程:ps 可以看到第一个进程 init .在Linux系统中,第一个进程是系统固有的、与生俱来的或者说是由内核的设计者安排好的,内核在引导并完成了基本的初始化以后,就有了系统的第一进程。并且所有的进程都是由这个原始进程或者它的子孙后代所创建,都是这个进程的“后代”2.什么是进程1、进程可以看做程序的一次执行过程。在linux下,每个进程有唯一的PID标识进程。PID是一个从1到32768的正整数,其中1一...原创 2021-03-12 09:01:37 · 907 阅读 · 2 评论 -
linux下简单/进阶TCP客户端/服务器端实现、原理及代码超详解
目录0.预备知识另外我们学习了这么多基础理论知识,程序上如何实现呢?上面所提到的函数是linux/unix系统平台下的函数,根据大致流程,可以得到以下,客户端,服务端建立连接的伪代码过程探索以上涉及的socket(),connect(),bind(),listen(),accept()函数用法,参数,返回值含义【1】socket()【2】connect(): 客户端用来和服务端建立连接的【3】bind():用于服务器端,服务器的IP地址和端口号通常固定不变,客户端得...原创 2021-03-10 16:22:05 · 1640 阅读 · 0 评论 -
Makefile执行过程中出错:make: *** No rule to make target ` ‘, needed by xxx. Stop.
问题:在mkefile添加了一点东西,编译却报了一些错误,不熟悉makefile的我找错花费了不少时间。这里记录一下解决过程。同时总结一下其他错误如何让一个文件里的空格回车都能显示出来? 工具:Notepad++ 【错误一】Makefile:34: *** missing separator. Stop. 原因1: 上方标红的地方多了一个空格,报这样的错误,是因为把这个空格当作文件名字了,所以报错少了分隔符号...原创 2021-02-27 17:52:35 · 21184 阅读 · 0 评论 -
unix时间戳转化为时间格式(C代码实现:2种方式)
方法一:在网络上很多人用这种4年为一周期,有点刻意而为之(另:好多人贴的代码闰年都理解错了!!!),而且只适用2038之前,有点死板方法二:方法虽然有点笨,但是很准确啦,就是从1970年试了,逼近法。无外乎时间比第一种理论上多了那么一点,但这种时间差距应该很小,可以忽略方法一:代码示例此代码之前的错误版本还在网上大面积存留。请谨慎!!!!我就是用的那个错误的,测试发现问题后找到如下正确版本/******************************************...原创 2021-02-20 17:33:04 · 2095 阅读 · 2 评论 -
Ubuntu系统Pycharm无法输入中文的解决方法图示
1.按以下图示安装支持的输入法2.再在pycharm.sh下添加以下内容export GTK_IM_MODULE=fcitxexport QT_IM_MODULE=fcitxexport XMODIFIERS=@im=fcitx3.重新打开pycharm 验证配置 sunpinyin即可完成原创 2021-02-06 14:03:18 · 435 阅读 · 0 评论 -
C语言——文件操作集合(格式化写文件、将文件内容读到buff、文件文件夹存在否、fopen和open区别等)
0.头文件#include <stdio.h>1.打开文件FILE *fopen(char *filename, char *mode);filename为文件名(包括文件路径),mode为打开方式,它们都是字符串FILE 是 <stdio.h> 头文件中的一个结构体,它专门用来保存文件信息 控制读写...原创 2020-12-26 18:08:42 · 760 阅读 · 2 评论 -
C/C++学习总结积累(超详细)——C提高:预处理(include、define、可变宏参)、编译、汇编、链接
1.预处理的基本概念C语言对源程序处理的四个步骤:预处理、编译、汇编、链接,最终形成可执行的目标程序(二进制)预处理是在程序源代码被编译之前,由预处理器(Preprocessor)对程序源代码进行的处理。这个过程并不对程序的源代码语法进行解析,但它会把源代码分割或处理成为特定的符号为下一步的编译做准备工作2.#include<> 和 #include“ ” 区别3.宏,什么是宏?宏有什么应用?...原创 2020-11-16 09:34:16 · 681 阅读 · 0 评论 -
linux下.sh脚本编写、window下.bat(.cmd)脚本编写
0、写在前面1、linux下.sh脚本编写2、window下.bat脚本编写 注释命令【rem 和 ::】 REM 该命令后的内容不被执行,但能回显。:: 也可以起到rem 的注释作用, 但有两点需要注意:第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别。无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以 :: ...原创 2020-11-07 17:34:59 · 4973 阅读 · 0 评论 -
linux——学习笔记(鸟哥的私房菜)——基础文件——第五章之Linux 的档案权限与目录配置
1.linux文件属性第一个字符代表这个档案是『目录、档案或链接档等等』:当为[ d ]则是目录,例如上表档名为『.config』的那一行; 当为[ - ]则是档案,例如上表档名为『initial-setup-ks.cfg』那一行; 若是[ l ]则表示为链接档(link file); 若是[ b ]则表示为装置档里面的可供储存的接口设备(可随机存取装置); 若是[ c...原创 2020-08-14 16:54:09 · 184 阅读 · 0 评论 -
NTP服务器地址
https://blog.csdn.net/maxsky/article/details/53866475?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5NTP 是什么? NTP 是网络时间协议(Network Time Proto.原创 2020-08-14 16:28:37 · 703 阅读 · 0 评论 -
makefile文件编写
Make是怎么工作的?什么是makefile一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令.使用规则目标(target):依赖(prerequiries)…<tab>命令(command)<tab>命令(command)...原创 2020-08-14 16:22:39 · 290 阅读 · 0 评论 -
Linux应用层的定时器
Linux应用层的定时器1.定时器理解:可以将其看作一个闹钟。在Linux应用编程层上,当需要实现下列几种功能时,可考虑使用定时器。周期性执行某一项任务 在指定时间去执行某一项任务2.几种定时器介绍具有定时功能的库函数API接口 1.sleep() 2.usleep() 3.nanosleep() 4.alarm() sleep和usleep,Linux并没有提供系统调用,他们都是在库函数中实现的;是通过...原创 2020-08-14 16:18:52 · 1843 阅读 · 0 评论 -
Logrotate总结,机制,原理,日志转储过程
Logrotate总结目录Logrotate机制与原理... 1运行机制(参考博客:https://www.cnblogs.com/sailrancho/p/4784763.html)... 1运行原理(参考博客:https://www.cnblogs.com/sailrancho/p/4784763.html)... 2方案1:默认... 2方案2:copytruncate. 2配置文件 logrotate.conf 3配置:... 4Log...原创 2020-08-14 16:10:43 · 876 阅读 · 0 评论 -
linux网络编程学习(3)
linux网络编程学习(3)soket编程NAME socket - create an endpoint for communicationSYNOPSIS #include <sys/types.h> /* See NOTES */ #include <sys/socket.h>...原创 2020-08-14 16:47:58 · 160 阅读 · 0 评论 -
linux网络编程学习笔记(一)
目录1. 获取系统调用错误信息:errno strerror() perror();2.常规文件操作之创建、读、写 1.文件创建 2.打开文件: 3.写文件:write 4.读文件:3.文件夹操作: 1.创建目录: 2.重新设置文件读写文件位置: 3.打开文件夹: 4.查看文件夹里面的信息: 5.创建多级目录: 1...原创 2018-10-14 21:05:46 · 356 阅读 · 0 评论 -
linux网络编程学习(二)
1.进程相关概念介绍 1.查看电脑上运行的进程:ps -a2.进程创建函数fork()NAME fork - create a child processSYNOPSIS #include <sys/types.h> #include <unistd.h> pid_t fork(voi...原创 2018-11-24 15:25:37 · 258 阅读 · 0 评论 -
win10下的fedora28安装详细教程及问题
第一步:装win10:预先烧录PE的启动u盘 先装win10,下载win10镜像到空白u盘(u盘格式设置为fat32) 进入Bios设置(具体操作,开机时,按f2键进入)->点击右上角advanced—>boot(设置u盘为第一启动项(boot1->usb) 选择secure boot ->disable) u盘类型选择UEFI第二步:预备工...原创 2018-08-06 11:03:21 · 6912 阅读 · 0 评论