随笔分类 - Unix/Linux编程实践教程
学习linux第一本书
摘要:如图,这个是看视频时,最后的作业,除了客户端未使用select实现外,其它的要求都有简单实现。 服务端代码如下: 客户端代码还是之前的版本,没有使用select实现:
阅读全文
摘要:最近学习了linux关于进程间通信的相关知识,所以决定借助进程和共享内存,并按照生产者消费者模型来创建一个简易聊天程序。下面简单的说一下程序的思路。 首先是服务端程序,服务端会创建两个进程,进程1负责接收客户端传送过来的消息,并存储起来。进程2负责读取进程1存取的消息。这里使用到了生产者和消费者编程
阅读全文
摘要:1.首先介绍一下select和epoll的异同,如下(摘抄自https://www.cnblogs.com/Anker/p/3265058.html) select的几大缺点: (1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大 (2)同时每次调用selec
阅读全文
摘要:这个问题困扰了我好长时间,网上查了好长时间,这个问题的解决方法,就是将binultils升级到2.26。 造成这个问题的原因是gcc和binultils版本不匹配,gcc对应的版本较高,gcc编译后,ld(由binultils决定)进行链接,结果由于binultils版本较低, 无法识别。 解决方法
阅读全文
摘要:这篇文章已经无法考证是谁原创的了 首先注意usr 指 Unix System Resource,而不是User 然后通常: /usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变。 /usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同
阅读全文
摘要:今天make一个程序的时候,发现程序里面使用到了C++17的标准,而我的gcc仍然是4.8,考虑到系统是ubuntu18.04的,所以感觉应该gcc的版本不会这么低。 cd到/usr/bin下,使用指令 它自带了4.8和7,6是我用apt-get install指令装上去的。 下面我们可以进行切换
阅读全文
摘要:我这里故意放了一个超过100M的文件 后续,git add ,git commit 然后,git push 此时会发现出现了错误。如果,我们再这里直接在文件系统中删除这个大的文件,然后再次提交,会发现这个问题并未得到解决。 原因在于我们并没有将上次的提交操作撤回。 输入git log,找到上次提交的
阅读全文
摘要:首先,是wine QQ的安转教程:Wine安装最新版QQ(8.9.2)的简单教程 - Powered by Discuz! 里面作者也提到了关于重启后出现个人文件夹被占用的情况。 如下: 我按照上面的设置后,发现还是会出现这个问题,后来,我觉得应该是QQ退出后,相应的进程并未被杀死造成的。 我使用了
阅读全文
摘要:1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/ ,如下图,要选择与自己系统位数一致的安装包,我的系统是64位,所以我下载64位的安装包 2.按键Ctr+Alt+T打开终端,输入以下命令切换到下载文件夹: [html] view plain cop
阅读全文
摘要:1.简单的安装方法 安装JDK的最简单方法应该就是使用apt-get来安装了,但是源一般是OpenJDK,如果需要安装Oracle的JDK这种方法就不合适了,直接跳过看下面的章节。 1.使用ctrl+alt+t打开终端,你可以添加一个含有OpenJDK源的仓库,一般是不需要,因为一般都有。 备份原始
阅读全文
摘要:原创作者:http://www.cnblogs.com/jerome-rong/archive/2013/02/19/2916608.html Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available
阅读全文
摘要:虽然不怎么用Ubuntu来看文档,但是偶尔还是需要看一下的。而Ubuntu自带的打开PDF的软件真的看着很难受,装一个跨平台的福昕好了。 首先,下载。可以官网下载:福昕官网 不过晚上不知道网络抽风还是什么问题,下载贼慢。选择了参考博客里提供的wget命令下载。 然后解压缩: 然后修改权限,并运行:
阅读全文
摘要:我在编译ligra是遇到了这个问题,网上搜了一遍,发现是了原因https://gcc.gnu.org/onlinedocs/libstdc%2B%2B/manual/using_dual_abi.html gcc5.4中C++11对一些变量的解析不太一样(表达不太好),比如,f std::list<
阅读全文
摘要:转载自https://www.linuxidc.com/Linux/2017-03/142299.htm Ubuntu 16.04 LTS 降级安装GCC 4.8 Ubuntu 16.04 LTS 降级安装GCC 4.8 由于gcc在5.x版本修改了ABI,导致新版本gcc编译的二进制文件放在老的环
阅读全文
摘要:转载于https://blog.csdn.net/zhangdaisylove/article/details/45721667 1.库的分类 库有静态库和动态库,linux下静态库为.a,动态库为.so。windows下静态库为.lib,动态库为.dll。 静态库是在编译的链接阶段链接嵌入到程序中
阅读全文
摘要:服务器端的程序一般有如下几个过程,首先是bind,然后再是listen,最后是accept。再往后就是客户端与服务器连接后的各种操作了。 相比之下,客户端的程序就比较简单了,只需先获得sock_id,再与对应的sock进行connect,其他如下。 服务器端代码: 客户端代码: 调用如下: 服务器启
阅读全文