
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 · 634 阅读 · 1 评论 -
Unix——《Unix网络编程》配置unp.h头文件
《Unix网络编程 卷1》unp.h 头文件及其编译问题本书源码下载地址 http://www.unpbook.com 解压tar -zxvf unpv13e.tar.gz 其实各个编译过程都在README中,下面给出正确的编译过程 首先进行编译在目录 unpv13e下依次执行以下步骤:./configure cd lib make cd ../...原创 2017-09-25 16:24:16 · 1726 阅读 · 2 评论 -
Unix——系统调用和库函数调用概念区别和联系
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions)。系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思。面向的是硬件。而库函数调用则面向的是应用开发的,相当于应用程序的api,采用这样的方式有很多种原因,第一:双缓冲技术的实现。第二,可移植性。第三,底层调用本身的一些性能方面的缺陷。第四:让api也可以原创 2017-10-07 20:56:46 · 912 阅读 · 0 评论 -
Unix——optarg与getopt的用法
在学习webbench这个开源小项目时遇到了getopt_long()这个函数,就转查到了getopt()这个函数,功能基本一致。函数参数和返回值int getopt(int argc, char * const argv[], const char *optstring); 说一下什么是选项,什么是参数。 argc和argv就不说了, 这个就是在命令行输入时的选项,通过main函数的参数传入字原创 2017-10-09 19:07:00 · 3951 阅读 · 1 评论 -
Unix——fprintf与stderr、stdout的使用
先看一段程序 // 保存为fprintf.c#include <stdio.h>int main(){ fprintf(stderr,"stderr on screen\n"); fprintf(stdout,"stdout to txt\n"); printf("print to txt\n");}上面程序运行结果为: stderr on screen stdout原创 2017-10-09 19:40:40 · 956 阅读 · 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 · 748 阅读 · 2 评论 -
LINUX C编程中_REENTRANT宏的作用
在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。在一个线程准备获取刚才的错误代码时,该变量很容易被另一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。为解决这个问题,需要使用可重入的例程。可重入代码可以被多次调用而仍然工作正常。编写的多线程程序,通过定义宏_REENTRANT来告诉编译器我们需要可重入...原创 2018-06-05 16:09:08 · 1916 阅读 · 1 评论 -
gdb 调试利器
转自http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/gdb.html1. gdb 调试利器GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 对于一名Linux下工作的c++程序员,gdb是必不可少的工具;1.1. 启动gdb对C/C++程序的调试,需要在编译前就...转载 2018-06-08 15:52:22 · 295 阅读 · 0 评论