- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 动态产生GUID
#include #include #include void main(){ CoInitialize(0); GUID guid; CoCreateGuid(&guid); wchar_t strGuid[40]; StringFromGUID2(guid, strGuid, 40); wprintf(L"%s/r/n", strGuid); CoUninitialize();
2005-01-27 10:11:00 1083
原创 通过一个网络打开 //Myserver/Myshare/Sample.mp3,各组件的通信情况
1) 使用 CreateFile这个 API函数,应用程序向本地操作系统提交一个请求,要求打开//Myserver/Myshare/Sample.mp3。2) 根据从 UNC路径描述中获得的信息,本地(本机)操作系统的文件系统判断出该 I/O(输入/输出)请求的目的地是一台远程机器,名为 //Myserver,所以将此请求传递给 MUP。3) MUP调查出该I/O请求发给的是一个 MSNP提供
2005-01-21 16:36:00 1654
原创 MUP "多 UNC提供者"( Multiple UNC Provider, MUP)资源定位符
MUP "多 UNC提供者"( Multiple UNC Provider, MUP)资源定位符MUP的基本任务便是决定具体由哪个网络提供者来满足一个 UNC请求。 为作出这个决定,MUP需将请求中提到的 UNC名字(以并行方式)发给已经安装好的每一个提供者(如:“ Microsoft网络用户”)。若某个网络提供者表明自己能够提供 UNC名字牵涉到的那一种服务, MUP便会将请求中剩余的部
2005-01-21 16:18:00 1978 1
原创 UNC“通用命名规范”(Universal Naming Convention, UNC )
UNC名字://Myserver/Myshare/Sample.mp3使用 UNC名字,系统便可非常轻松地定位网络服务器共享目录以及文件路径。网络通信的所有细节都是由网络提供者的“重定向器”来负责控制的,
2005-01-21 15:59:00 3280 3
原创 重定向器
应用程序若指出自己需要使用 E:时,操作系统便会将 I/O请求自动重定向至一个设备,那个设备叫作“重定向器”(Redirector)。重定向器会建立到远程计算机的一个网络信道,以便访问指定的远程目录。随后,应用程序可自由使用一些常规的文件系统 API函数,比如ReadFile(读文件)和WriteFile(写文件)等。虽然实际是通过网络访问的,但表面上却与访问本地文件无异。
2005-01-21 15:54:00 1163
原创 LANA编号
每个LANA编号对应于网卡及传输协议的唯一组合。例如,假定某工作站安装了两张网卡,以及两种具有 NetBIOS能力的传输协议(如 TCP/IP和NetBEUI),那么总共就有四个 LANA编号。下面是一种对应关系的例子:0. TCP/IP—网卡11. NetBEUI—网卡12. TCP/IP—网卡23. NetBEUI—网卡2
2005-01-20 17:41:00 2452 1
原创 OSI网络模型
层 描述应用层 为用户提供相应的界面,以便使用提供的连网功能表示层 完成数据的格式化会话层 控制两个主机间的通信链路(开放、操作和关闭)传输层 提供数据传输服务(可靠或不可靠)网络层 在两个主机之间提
2005-01-20 16:40:00 1446
原创 NetBIOS接口
NetBIOS接口,它和Winsock类似,也是一种与协议无关的网络 API。注意 Windows CE并不支持NetBIOS API,只是用TCP/IP作为其传送协议,并同时支持NetBIOS的名字与名字解析。Microsoft TCP/IP和NetBEUI在默认情况下已提供了一个 NetBIOS接口微软网络中的机器名采用的便是NetBIOS名字。机器启动时,会将自己的名字注册到本地的“ W
2005-01-20 16:28:00 1407
原创 一个加法编译器(bison.simple)
/* -*-C-*- Note some compilers choke on comments on `#line lines. */#line 3 "bison.simple"/* Skeleton output parser for bison, Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
2005-01-18 16:59:00 2882
原创 一个加法编译器(AddLex.l)
%{ #include void yyerror(char *); #include "AddLex.h" %} %% [0-9]+ { yylval = atoi(yytext); return INTEGER; } [-+/n] return *yytext; [ /t]
2005-01-18 16:58:00 1125
原创 一个加法编译器(AddYacc.y)
%{ #include int yylex(void); void yyerror(char *); %} %token INTEGER %% program: program expr /n { printf("%d/n", $2); } | ; expr: INTEGER
2005-01-18 16:57:00 972
原创 sample3.l
digit [0-9]letter [A-Za-z]%{ int count=0;%}%%{letter}({letter}|{digit})* {count++; printf("number of identifiers=%d/n",count);};%%int yywrap(void){ return 1;}int main(void){ yylex(); return 0; }
2005-01-18 10:54:00 1028
原创 sample2.l
%{ int yylineno=0;%}%%^(.*)/n printf("%4d/t%s", ++yylineno,yytext);%%int yywrap(void){ return 1;}int main(void){ yyin=fopen("input.txt","r"); yylex(); fclose(yyin); return 0;}
2005-01-18 10:36:00 875
原创 sample.l
%%. printf("match everything except newline/n");/n printf("match newline/n");%%int yywrap(void){ return 1;}int main(void){ printf("begin/n"); yylex(); printf("end"); return 0;}
2005-01-18 10:09:00 922
原创 LEX&YACC使用问题集
http://www.monmouth.com/~wstreett/lex-yacc/lex-yacc.html1.工程路径不允许有空格
2005-01-17 17:17:00 1071
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人