- 博客(14)
- 收藏
- 关注
原创 Input Processing
Input processing is different from the output processing just described because the input is asynchronous. T**hat is, the reception of an input packet is triggered by a receive-complete interrupt to th
2016-07-31 14:12:37 482
原创 Mbufs(Memory Buffers) and Output Processing
A fundamental concept in the design of the Berkeley networking code is the memory buffer, called an mbuf, used throughout the networking code to hold various pieces of information.Mbuf Containing Socke
2016-07-31 12:28:30 577
原创 socket描述符
先看这样一段程序:#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#define BUFFSIZE 150int main(){ struct sockaddr_in serv; char buff[BUF
2016-07-31 07:17:16 1066
原创 深入理解linux网络技术内幕:用户空间与内核的接口
本章简要地介绍用户空间应用程序与内核通信或读取内核输出信息的主要机制. 概述: 内核通过各种不同的接口把内部信息输出到用户空间.除了程序员用于请求信息的经典系统调用(system call)外,还有三个特殊的接口,两个是虚拟文件系统,剩下的一个是系统调用. 1)procfs(/pro文件系统) 这是一个虚拟文件系统,通常是挂载在/目录下,/proc.它允许内核以文件的形式向用户空间输出内部信
2016-07-19 20:25:22 3142
原创 发现网络细节的命令:netstat ifconfig ping -b
(1)netstat -i: 提供网络接口的信息. 我们还可以指定-n标志以输出数值地址,而不是试图把它们反向解析成名字. –numeric , -n Show numerical addresses instead of trying to determine symbolic host, port or user names. –interfaces, -i
2016-07-19 09:33:44 1844
转载 linux动态库与静态库
转自:http://blog.csdn.net/wangzhen209/article/details/48241053 一、基本概念1.1、什么是库在 windows 平台和 linux 平台下都大量存在着库。本质上来说库是 一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于 windows 和 linux 的平台不同(主要是编译器、汇编器和连接器 的不同),因此二者库的二进制是不兼容
2016-07-17 14:34:53 298
转载 lib和dll文件的区别和联系
(1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果
2016-07-17 14:27:48 283
转载 gcc选项 -D_REENTRANT机制
gcc 选项 -D_REENTRANT机制_REENTRANT宏在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。在一个线程准备获取刚才的错误代码时,该变量很容易被另一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。为解决这个问题,需要使用可重入的例程。可重入代码可以被多次调用而仍然工作正常。编写的多线程程序
2016-07-17 14:16:49 1722
转载 makefile中的 -O -O2选项含义
-O:optimization(优化的意思) 例如:CFLAGS = -I../lib -g -O2 -D_REENTRANT -WallMost optimizations are only enabled if an -O level is set on the command line. Otherwise they are disabled, even if individual opti
2016-07-17 10:01:11 8040
转载 Makefile选项CFLAGS,LDFLAGS,LIBS
转载于:http://ju.outofmemory.cn/entry/116457 CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个inc
2016-07-17 09:55:12 270
转载 使用和写简单的Makefile文件
看过GNU_Make手册部分内容后,还是不太能看懂Makefile文件.最近在swarthmore.edu网站上看到了一个简单易懂的关于如何using and writing Makefiles的文章. 原址:https://www.cs.swarthmore.edu/~newhall/unixhelp/howto_makefiles.html创建一个 Makefile 一般的Makefile格
2016-07-17 09:49:34 556
原创 unix网络编程卷1:套接字联网 源码编译
QUICK AND DIRTYExecute the following from the src/ directory: 一:./configure # try to figure out all 结果是:........checking for struct addrinfo... yeschecking for struct if_nameindex... yeschecking
2016-07-16 19:44:32 2349
原创 第一个Makefile文件
一个多月没碰c++,很多东西又忘光了. 我写了简单的几行代码,然后写了个Makefile测试了一下. a.h:#include <iostream>#define N 10a.c#include <stdio.h>#include "a.h"using namespace std;int main(){ std::cout << N << std::endl;
2016-07-04 04:04:47 400
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人