
Linux
空灵花
这个作者很懒,什么都没留下…
展开
-
Linux网络编程之简易的点对点聊天程序程序
本程序基于上一篇echo_server的实现,稍作修改,增加了发送消息,服务端客户端各自运行两个进程,一个进程负责发送消息,另一个进程负责接收消息。 代码如下:p2p_server.c#include <sys/socket.h>#include <sys/types.h>#include <string.h>#include <unistd.h>#include <memory.h>原创 2016-08-05 16:04:07 · 1086 阅读 · 1 评论 -
Linux网络编程之echo server的实现
网络编程第一步,先实现一个echo server一个echo server程序包含两部分 * 客户端 * 服务端 这里,服务端相对于客户端的代码要多一些。这里简单说一下代码结构:服务端 1. socket 2. bind 3. listen 4. accept 5. 循环读写 6. 关闭连接和套接字客户端(相对比较简单一些 )socketconnect循环读写关闭套接字下原创 2016-08-04 16:22:04 · 1709 阅读 · 0 评论 -
编译ncurses错误处理及解决办法
编译ncurses是编译linux内核时用到的一个工具,在make时遇到了如下错误:In file included from ../ncurses/curses.priv.h:283:0, from ../ncurses/lib_gen.c:19:_46863.c:835:15: error: expected ‘)’ before ‘int’../inclu原创 2016-08-07 17:09:25 · 5734 阅读 · 3 评论 -
Linux系统编程之管道
管道是进程间通信的手段之一,在这之前,普通文件是最基本的通信方式,而普通文件通信的问题在于,A进程对文件写进了内容,B进程无法感知这种变化,而管道正好解决了这种问题。管道的使用方法 创建管道的进程fifoA:创建管道打开管道写数据关闭管道删除管道接收数据的进程fifoB打开管道读取数据关闭管道 管道文件只能由其创建者删除,而接受者在关闭后重新打开,可以继续接收管道的数据。,举个栗子原创 2016-08-22 13:51:08 · 397 阅读 · 0 评论 -
Linux进程通信之共享内存
这里简介一下共享内存的编程的模型,其它细节以后有时间再补充 创建共享内存,得到一个ID(函数shmget) 把ID映射成虚拟地址/挂载 (函数shmat) 使用虚拟地址访问内核共享内存,可以使用任何内存函数函数与运算符号 卸载虚拟地址 (函数shmdt) 删除共享内存 ,函数shctl(修改,获取共享内存的属性) 这里看下几个函数 #include <s原创 2016-08-23 13:30:20 · 264 阅读 · 0 评论 -
Linux系统编程之信号的可重入性
信号的可重入性讨论对于进程调用“慢”的系统调用时,如果发生了信号中断,内核会终止系统调用,重新执行。对于用户函数中静态存储区(或全局数据区)的变量接受到信号的中断处理后可导致函数不可重入。正常流程和中断处理流程会对变量的数值相互覆盖影响。对第一点先不作讨论,后续有时间再补充,这里主要通过一个代码示例来讨论第二种情况。下面是代码#include <stdio.h>#include <unist原创 2016-08-13 22:02:16 · 575 阅读 · 0 评论 -
sign_and_send_pubkey: signing failed: agent refused operation
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: UNPROTECTED PRIVATE KEY FILE! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions 0644 for原创 2017-03-17 16:53:26 · 751 阅读 · 0 评论 -
Linux环境配置
1. 发行版选择:Ubuntu 16.04.2Linux 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb 5 09:39:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux2. 安装基础软件,vim,wget,git,curl,zsh,openssh-server,uget,cmake,gitgsudo apt ins原创 2017-03-05 14:57:22 · 364 阅读 · 0 评论 -
Linux C++ 连接MySQL
准备条件安装好MySQL,MySQL的用户root存在,且可以用密码登录,假设密码为”passwd”,数据库中有一个test数据库,test数据库里有一张名为“City”的表,表中有几条数据即可。安装mysql++-devel(Ubuntu用户可能需要安装libmysql++-dev)代码如下#include <iostream>#include <string>#include <cst原创 2017-06-25 17:51:04 · 741 阅读 · 0 评论