12 2018 档案
【centos】centos安装g++
摘要:gcc在Centos下的安装:使用的是以下语句:yum install gcc 以为安装g++,类似的应该使用:yum install g++ 可是提示:command is not found 查询有关资料发现,安装g++使用的是:yum install gcc-c++(注意不是g++) gcc: 阅读全文
posted @ 2018-12-25 18:10 我得去图书馆了 阅读(19764) 评论(0) 推荐(2) 编辑
【centos】centos中添加一个新用户,并授权
摘要:前言 有时候给root用户不太方便,新建一个用于并赋予权限这个做法相对好些 创建新用户 创建一个用户名为:cmj 为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略: 授权 个人用户的权限只可以在本home下有完整权限,其他目录要看别人授权。而经常需要root用户的权限,这时候sud 阅读全文
posted @ 2018-12-25 18:07 我得去图书馆了 阅读(277) 评论(0) 推荐(0) 编辑
【C】C语言中的_exit()与exit()
摘要:_exit()和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中。 举例说明: 解释: printf函数就是使用的是缓冲I/O的方式,该函数在遇到“\n“换行符时自动的从缓冲区中将记录读出。所以exit()将缓冲区的数据写完后才能退出来,所以调用exit()函数后程 阅读全文
posted @ 2018-12-24 23:28 我得去图书馆了 阅读(1879) 评论(0) 推荐(0) 编辑
【linux C】C语言中常用的几个函数的总结【三】
摘要:; 阅读全文
posted @ 2018-12-24 16:00 我得去图书馆了 阅读(150) 评论(0) 推荐(0) 编辑
【linux C】C语言中常用的几个函数的总结【二】
摘要:3、fgets 虽然用 gets() 时有空格也可以直接输入,但是 gets() 有一个非常大的缺陷,即它不检查预留存储区是否能够容纳实际输入的数据,换句话说,如果输入的字符数目大于数组的长度,gets 无法检测到这个问题,就会发生内存越界,所以编程时建议使用 fgets()。fgets() 的原型 阅读全文
posted @ 2018-12-24 15:52 我得去图书馆了 阅读(332) 评论(0) 推荐(0) 编辑
【linux C】C语言中常用的几个函数的总结【一】
摘要:1、memset函数 定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作 阅读全文
posted @ 2018-12-24 12:14 我得去图书馆了 阅读(435) 评论(0) 推荐(0) 编辑
【环境配置】本地配置sublime text以及和远程linux设置sftp
摘要:工具: sublime text 2(mac版) 远程linux(centos 7系) securCRT(for mac) 【本地安装并配置securCRT(for mac)】 关于配置: 1、解决终端连接服务器短时间自动断开连接的问题: 修改服务器sshd_config文件,直接修改 /etc/s 阅读全文
posted @ 2018-12-22 19:05 我得去图书馆了 阅读(1291) 评论(0) 推荐(0) 编辑
【Linux 网络编程】TCP网络编程中connect()、listen()和accept()三者之间的关系
摘要:基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下: connect()函数:对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三次握手,而这个连接的过程是由内核完成,不是这个函数完成的,这个函数的作用仅仅是通知 Linux 内核 阅读全文
posted @ 2018-12-20 19:55 我得去图书馆了 阅读(617) 评论(0) 推荐(0) 编辑
Linux 线程】线程同步《四》
摘要:1、信号量 (1)概念 信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。 不多做解释,要使用信号量同步,需要包含头文件semaphore.h。 主要用到的函数: int sem_init(sem_t *sem, int pshared, uns 阅读全文
posted @ 2018-12-19 17:00 我得去图书馆了 阅读(242) 评论(0) 推荐(0) 编辑
【消息队列】--- 消息队列的使用场景
摘要:文章整理自知乎:https://www.zhihu.com/question/34243607 【解释一】: 个人认为消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要 阅读全文
posted @ 2018-12-19 14:09 我得去图书馆了 阅读(723) 评论(0) 推荐(0) 编辑
【Linux 线程】线程同步《三》
摘要:1、条件变量 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。为了防止竞争,条件变量的使用总是和一个互斥 (1)创建和注销 条件变量和互斥锁一样,都有静态&动态两种创建方式,静态方式使用P 阅读全文
posted @ 2018-12-18 18:21 我得去图书馆了 阅读(237) 评论(0) 推荐(0) 编辑
【Linux 线程】线程同步《二》
摘要:1、读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: (1)读模式下加锁状态 (读锁) (2)写模式下加锁状态 (写锁) (3)不加锁状态 读写锁特性: 读写锁是"写模式加锁"时, 解锁前,所有对该锁加锁的线程都会被阻塞。 读写锁是" 阅读全文
posted @ 2018-12-18 09:13 我得去图书馆了 阅读(209) 评论(0) 推荐(0) 编辑
【Linux 线程】线程同步《一》
摘要:1、线程同步概念 线程同步:在多个线程访问共享数据时,有先后次序。 在一般情况下,创建一个线程是不能提高程序的执行效率的,所以要创建多个线程。但是多个线程同时运行的时候可能调用线程函数,在多个线程同时对同一个内存地址进行写入,由于CPU时间调度上的问题,写入数据会被多次的覆盖,所以就要使线程同步。 阅读全文
posted @ 2018-12-17 16:40 我得去图书馆了 阅读(284) 评论(0) 推荐(0) 编辑
【Linux 线程】常用线程函数复习《四》
摘要:1、线程属性的设置 运行结果: 关于上面的demo: (1)上面的功能实际上可以直接通过使用pthread_detach实现,但是如果创建线程较多,则可以直接在创建线程时直接设置分离属性。 (2)随着一个进程中的线程的数量增多,进程中的栈资源均分的更少,此时可以设置线程属性,来进行堆上空间的开辟,这 阅读全文
posted @ 2018-12-17 11:13 我得去图书馆了 阅读(235) 评论(0) 推荐(0) 编辑
【Linux 线程】常用线程函数复习《三》
摘要:1、关于函数pthraed_join与函数pthraed_detach 在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死。在被其他线程回收之前,它的存储器资源(例如栈)是不释放的(线程独享部分)。相反,一个分离的线 阅读全文
posted @ 2018-12-17 09:54 我得去图书馆了 阅读(151) 评论(0) 推荐(0) 编辑
【Linux 线程】常用线程函数复习《二》
摘要:1、函数pthread_join 运行结果: 2、函数pthread_cancel 运行结果: 3、3种终止线程的方式:exit()、pthread_exit()、pthread_cancel 情形1: 运行结果: 情形2:当pthread_cancel要终止的线程没有陷入内核的操作 运行结果: 情 阅读全文
posted @ 2018-12-13 20:24 我得去图书馆了 阅读(188) 评论(0) 推荐(0) 编辑
【Linux 线程】常用线程函数复习《一》
摘要:1、pthread_create以及pthread_self函数 运行结果: 2、循环创建多个子线程 第一种情况: 运行结果: 第二种情况: 运行结果: 3、线程间全局变量共享 运行结果: 4、函数pthread_exit() 情形一: 运行结果: 使用exit函数退出线程:exit()是进程退出, 阅读全文
posted @ 2018-12-13 16:45 我得去图书馆了 阅读(297) 评论(0) 推荐(0) 编辑
【Linux 线程】同一个进程中的线程共享哪些资源
摘要:进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它 阅读全文
posted @ 2018-12-13 10:52 我得去图书馆了 阅读(7078) 评论(0) 推荐(0) 编辑
【Linux 线程】引出线程加锁问题
摘要:1、多线程的问题引入 多线程的最大的特点是资源的共享,但是,当多个线程同时去操作(同时去改变)一个临界资源时,会破坏临界资源。 阅读全文
posted @ 2018-12-12 18:24 我得去图书馆了 阅读(286) 评论(0) 推荐(0) 编辑
【Linux 系统】Linux探秘之用户态与内核态
摘要:一、 Unix/Linux的体系架构 如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源 阅读全文
posted @ 2018-12-05 20:44 我得去图书馆了 阅读(332) 评论(0) 推荐(0) 编辑
【Linux 进程】孤儿进程、僵尸进程和守护进程
摘要:1、孤儿进程: 孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。孤儿进程是没有父进程的进程,孤儿进程这个重任就落到了init进程身上,init进程就好像是一个民政局,专门负责 阅读全文
posted @ 2018-12-05 20:35 我得去图书馆了 阅读(877) 评论(0) 推荐(0) 编辑
【Linux 进程】exec族函数详解
摘要:exec族的组成: 在Linux中,并不存在一个exec()的函数形式,exec指的是一组函数,一共有6个,分别是: #include <unistd.h> extern char **environ; int execl(const char *path, const char *arg, ... 阅读全文
posted @ 2018-12-05 17:52 我得去图书馆了 阅读(2925) 评论(1) 推荐(1) 编辑
【Linux 进程】fork父子进程间共享数据分析
摘要:之前我们通过fork()函数,得知了父子进程之间的存在着代码的拷贝,且父子进程都相互独立执行,那么父子进程是否共享同一段数据,即是否存在着数据共享。接下来我们就来分析分析父子进程是否存在着数据共享。 我们都知道,在linux下,内存存储的位置是全局变量,栈区,堆区,以及文件。字符常量区我们这里不作分 阅读全文
posted @ 2018-12-05 17:12 我得去图书馆了 阅读(4945) 评论(0) 推荐(2) 编辑
【Linux 进程】fork函数详解
摘要:一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和 阅读全文
posted @ 2018-12-05 15:43 我得去图书馆了 阅读(1316) 评论(0) 推荐(0) 编辑
《centos系列》配置vim编辑器
摘要:直接wget到~/目录下: wget http://files.cnblogs.com/ma6174/vimrc.zip 然后进行解压: unzip -f vimrc.zip -d ~/ 参考:https://blog.csdn.net/u010871058/article/details/5425 阅读全文
posted @ 2018-12-05 11:42 我得去图书馆了 阅读(192) 评论(0) 推荐(0) 编辑
《centos系列》ubuntu终端链接centos服务器
摘要:首先你得知道centos的账户密码:如果你不知道可以直接在centos下使用root用户: 直接更新用户的密码。 然后在ubuntu终端(前提是已经安装了ssh): 阅读全文
posted @ 2018-12-05 11:40 我得去图书馆了 阅读(231) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示