Unix环境高级编程
konsy_dong
Java,C++,Python,linux
展开
-
Unix——学习《Unix环境高级编程》找不到“apue.h”方法
在运行《UNIX环境高级编程》中的程序时会遇到apue.h包头找不到的情况,这是作者为了方便程序书写封闭了一些功能函数和错误处理等。在http://www.apuebook.com中可以下载到书的所有的实例代码,解压后为apue.2e。 进入网站,选择对应版本的资料 将 Source Code 下载 在linux下运行tar -zxvf src.3e.tar.gz会原创 2017-09-25 13:18:53 · 600 阅读 · 1 评论 -
Unix——系统调用和库函数调用概念区别和联系
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第一:双缓冲技术的实现。第二,可移植性。第三,底层调用本身的一些性能方面的缺陷。第四:让api也可以原创 2017-10-07 20:56:46 · 867 阅读 · 0 评论 -
CPU-bound(计算密集型) 和I/O bound(I/O密集型)
转自http://blog.chinaunix.net/space.php?uid=13714918&do=blog&id=2875404 I/O密集型 (CPU-bound) I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多,此时,系统运作,大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写,此时 CPU Loading 不高。 CPU ...转载 2018-03-27 15:25:45 · 775 阅读 · 0 评论 -
从Linux服务器端下载文件Win客户端
Linux服务端程序//server_file.c#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <arpa/inet.h>#include <sys/socket.h>#define B...原创 2018-05-21 21:57:37 · 713 阅读 · 2 评论 -
LINUX C编程中_REENTRANT宏的作用
在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。在一个线程准备获取刚才的错误代码时,该变量很容易被另一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。为解决这个问题,需要使用可重入的例程。可重入代码可以被多次调用而仍然工作正常。编写的多线程程序,通过定义宏_REENTRANT来告诉编译器我们需要可重入...原创 2018-06-05 16:09:08 · 1778 阅读 · 1 评论