Linux
文章平均质量分 92
运妙心藏
C/Cpp/Java/C#/Lua/PHP/Android/Python 程序員 手游 前端 后台
展开
-
ubuntu man不到pthread_mutex_lock等函数
问题在ubuntu系统中无法man到 pthread_mutex_lock/pthread_mutex_trylock/pthread_mutex_unlock等函数liujing@ubuntu:~/projects/test$ man pthread_mutex_lock没有 pthread_mutex_lock 的手册页条目解决$sudo apt-get install manpages-posix manpages-posix-dev测试liujing@ubuntu:~/projec原创 2020-09-17 16:29:48 · 926 阅读 · 0 评论 -
Unix/Linux-06
回顾文件的相关操作fcntl 函数 (复制文件描述符、取文件表的状态、文件锁)access 函数stat 函数今天文件的周边函数、内存mmap、目录的函数进程的创建(fork/vfork)umask 是 设置权限的屏蔽字,对 创建文件有效。chmod 是 对已经存在的文件 ,修改 权限。truncate/ftruncate 可以 指定文件的长度(可大可小)内存 映射 文件 mmap目录相关函数:rename - 重命名mkdir - 创建新目录rmdir - 删除目录, 只原创 2020-08-24 11:12:03 · 266 阅读 · 0 评论 -
Unix/Linux-05
回顾文件操作openreadwritecloselseek今天文件控制fcntl文件描述符的复制dup(内存中)文件锁文件的周边函数目录操作(待定)1. dup和dup2dup和dup2可以复制文件描述符,但不复制文件表。dup 返回当前可用描述符的最小值。dup2 可以 指定文件描述符的值,如果这个值正在使用,关闭正在使用的之后再完成复制。dup3注解:dup: 系统指定最小可用的描述值dup2: 可自己指定文件描述符,如它被占用,强制关闭再使原创 2020-08-24 10:53:40 · 165 阅读 · 0 评论 -
Unix/Linux-04
回顾内存管理1 Unix/Linux内存使用 虚拟内存地址空间 方式进行管理。程序员操作的都是 虚拟内存地址。2 Unix/Linux系统中,内存管理 最小单位 内存页,一个内存页 4096字节。3 C++用new/delete,底层调用 C语言的malloc/free,底层调用brk/sbrk,底层mmap/munmap。4 malloc分配内存时,一次分配33个内存页(虚拟内存地址映射物理内存),malloc 分配内存,底层需要额外的空间存储 分配信息。但不影响对内存使用和管理。原创 2020-08-24 10:52:13 · 192 阅读 · 0 评论 -
Unix/Linux-03
回顾1. 错误处理C程序员一般对错误有4种处理方式 (void、-1、指针+ -1、NULL)C官方 提供了errno记录错误的编号,用perror显示错误信息strerror(errno)printf("%m")2. 环境表int main(int argc, char** argv, char** env){}extern char** environ;environ == envgetenv/setenv/putenv/unsetenv/clearenv3. 内存管理(偏理论原创 2020-08-24 10:50:06 · 256 阅读 · 0 评论 -
Unix/Linux-02
回顾gcc 概述c语言的开发相关文件.c 源文件.o 目标文件.h 头文件.a 静态库.so 共享库文件环境变量PATH/CPATH/LD_LIBRARY_PATH/静态库和共享库动态调用函数(dl系列函数)dlopen 从硬盘打开共享库文件dlsym 从共享库文件中打开函数dlclose 关闭共享库文件dlerror 判定错误今天C语言的错误处理环境表(程序中如何拿到环境变量)Unix/Linux内存管理ldconfig/lib/usr/lib原创 2020-08-24 10:12:58 · 287 阅读 · 0 评论 -
Unix/Linux-01
new和malloc的区别:new 一般用于C++, malloc一般用于C, 当然C++中也可以使用malloc,因为C++兼容Cnew 有类型, malloc无类型 void*new 会执行构造函数,然后再分配; malloc不会new 运算符, malloc 函数进程pskill -9 强制信号,不忽略IPCUnix三大版本System VBerkleyHybrid -linux封装 继承 多态POSIXGPLGCC的作用:1 预处理 2 编译 3 汇编 4原创 2020-08-24 10:06:14 · 214 阅读 · 0 评论 -
用命令关闭Ubuntu的自动关闭屏幕和锁屏
有时候linux系统是没有图形化界面的,为了关闭锁屏和息屏可以用如下命令// 关闭息屏,最后0是代表关闭锁屏,将0替换为60代表60s后自动息屏,以此类推。gsettings set org.gnome.desktop.session idle-delay 0 // 关闭锁屏gsettings set org.gnome.desktop.screensaver lock-enabled false翻译取自这篇文章If you want to wrap your app in a script原创 2020-08-11 14:36:38 · 5002 阅读 · 3 评论 -
ubuntu 14.04 16.04 18.04 快速下载
ubuntu 14.04 16.04 18.04 快速下载问题由于官网服务器在国外,下载速度奇慢,所以我们可以利用阿里云镜像下载ubuntu下载ubuntu 14.04:http://mirrors.aliyun.com/ubuntu-releases/14.04/ubuntu 16.04:http://mirrors.aliyun.com/ubuntu-releases/16.04...原创 2020-03-31 09:22:48 · 305 阅读 · 0 评论 -
MFC中调用命令行的最简易的方法
editbin /subsystem:console $(OutDir)$(TargetName).exe原创 2019-05-14 10:06:11 · 2404 阅读 · 0 评论 -
linux查看和修改PATH环境变量的方法
查看PATH:echo $PATH以添加mongodb server为列修改方法一:export PATH=/usr/local/mongodb/bin:$PATH//配置完后可以通过echo $PATH查看配置结果。生效方法:立即生效有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置用户局限:仅对当前用户修改方法二:通过修改.bashrc文...原创 2018-10-17 19:48:35 · 695 阅读 · 0 评论 -
Linux下 mkdir 无法创建目录,返回-1
在开发过程遇见了一个问题,特此记录:当运行目录下有同名目录或程序时,就会发生在代码中无法使用mkdir成功的情况, 我当时情况是,运行程序为oda,我当时的想法是在运行程序所在的同层目录下创建一个目录,但当时SB了,名字起的也是oda, 即我想创建一个oda文件夹,但所在目录下同时存在一个oda运行程序,导致创建失败只要名字不一样便可创建成功,即使改成大写的也成!...原创 2018-09-03 11:18:45 · 12027 阅读 · 0 评论 -
一个简单的线程池实现
一个简单的线程池实现应用特点:用于执行大量的相对短暂的任务当任务增加的时候能够动态的增加线程池中线程的数量,直到达到一个阈值当任务执行完毕的时候,能够动态的销毁线程池中的线程线程池的实现本质上是生产者与消费者模型的应用. 生产者线程向任务队列中添加任务, 一旦队列中有任务到来, 如果有等待线程就唤醒来执行任务, 如果没有等待线程并且线程数没有达到阈值, 就创建新的线程来执行任务....原创 2018-06-15 22:05:23 · 246 阅读 · 0 评论 -
在vim中快速复制粘贴多行
COPY于:http://www.cnblogs.com/MMLoveMeMM/articles/3707287.html用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴。 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式。2. 将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。3. 我移动光标到文本结束的地...原创 2018-03-22 19:36:50 · 2535 阅读 · 0 评论 -
在VMware中安装centOS 7及设置CentOS7的网络
图文详解在Vmware Workstation 12 Pro虚拟机上安装centOS 7教程网址:http://www.yishimei.cn/network/687.html在VMware中设置CentOS7的网络网址:https://www.linuxidc.com/Linux/2017-07/145845.htm亲测有效!...转载 2018-03-29 22:46:32 · 245 阅读 · 0 评论 -
ubuntu没有man pthread_mutex_init等函数
多线程中,想在man page查看 pthread_mutex_init,发现并没有man page。解决办法:sudo apt-get install glibc-docsudo apt-get install manpages-posix-dev原创 2018-03-25 01:24:25 · 781 阅读 · 0 评论 -
POSIX多线程程序设计(一)
POSIX多线程程序设计(一)几个重要概念 异步(asynchronous):任何两个彼此独立运行的操作是异步的.异步表明事情相互独立地发生,除非有强加的依赖性. 并发(concurrency):指事情同时发生. 单处理器(uniprocessor):指一台计算机只有一个编程人员可见的执行单元(处理器) 多处理器(multiprocessor):一台计算机拥有多个处理...原创 2018-04-02 15:49:48 · 1034 阅读 · 0 评论 -
POSIX多线程程序设计(二)
版本1:最基本的同步版本读取在终端中的输入,参数1为sleep时间,参数2为message#include <cstdio>#include <unistd.h>#include <cstdlib>#include <string.h>int main(){ int seconds; char line[128]...原创 2018-04-02 17:58:02 · 189 阅读 · 0 评论 -
sockaddr_in 结构体在什么头文件中声明
在编写Linux下的网络程序时,使用了sockaddr_in结构,在头文件中声明了#include <sys/socket.h>,系统仍不承认sockaddr_in结构.因为代码中还少包含了一个头文件#include <netinet/in.h> 而 inet_addr 需要#include <arpa/inet.h>所以#include <sys/so...原创 2018-03-27 17:39:05 · 30979 阅读 · 1 评论 -
Linux网络编程(1)-TCP/IP基础
ISO/OSI参考模型应用层(Application Layer)表示层(Presentation Layer)会话层(Session Layer)传输层(Transport Layer)网络层(Internet Layer)数据链路层( Data Link Layer)物理层(Physical Layer)TCP/IP四层模型应用层(Application La...原创 2018-04-03 00:20:37 · 211 阅读 · 0 评论 -
POSIX多线程程序设计(三)线程的状态及简单使用
POSIX多线程程序设计(三)>>如何选择使用线程或不使用线程 本身是非并发的问题,如果使用了多线程只会降低程序的性能并使用程序复杂。 例如: 如果程序中的每一步都需要上一步的结果,则使用多线程不会有任何帮助,因为每个线程都不得不等待其它线程的结束。最适合使用线程的应用: 1. 计算密集型应用 2. I/O密集型应用基本的线程同步模型为:使...原创 2018-04-03 15:44:04 · 471 阅读 · 0 评论 -
Linux下升级gcc/g++版本
更新Ubuntu的gcc和g++版本首先安装gcc和g++版本,依次进行如下操作:sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.8 sudo apt-get install g++-4.8进入/usr/bin/把gcc/g...原创 2018-03-29 15:58:31 · 19928 阅读 · 2 评论 -
POSIX多线程程序设计(四)线程同步
使用线程编写稍有难度的程序,一般都需要在线程间共享数据或以一致的顺序在线程间执行一组操作。不变量、临界区不变量是由程序作出的假设,特别是有关变量组间关系的假设。当使用一个队列来保存你想用的特殊数据时,你要为队列指定一个队列头指针,指向一个队列的最开头的第一个元素,同时这个数据元素也应该包含指向下一个元素的指针。临界区(串行数据)是指影响共享数据的代码段。一般,临界区总能对应一个数据...原创 2018-04-13 16:04:53 · 608 阅读 · 0 评论 -
ubuntu 下重启网络sudo service network restart失败
ubuntu 下重启网络一般以为是用下面这条 sudo service network restart但其实在ubuntu里要用 network-managersudo service network-manager restart原创 2016-11-10 09:35:15 · 46257 阅读 · 5 评论