求助:该内存不能为“writen”要终止程序

gelihui 2005-11-05 12:34:34

我用的系统是
windows xp sp2 而且下载并安装最新的更新程序、

AMD Athlon(tm) 64 Processor 3000+
2.00 GHz, 512 MB 的内存
物理地址扩展

本来是没有什么问题的了
但是因为我想学编程我就装了.net还有vc++6.0

然后在用c++编译的时候出现了一次内存不能为written的报错
关闭了c++之后就没有办法在打开他了
重启动之后又好了
可以用了

但是就是会时不时地发生类似的情况,比如说浏览网页的时候还有,打开写字板的时候,等等
后来把vc删了还是如此(本人怀疑是vc惹的祸因为在装了.net和vc之后才有了这种情况)
请问是什么原因?
有什么解决方法?
谢谢了

今天浏览网页又报了错了
explorer.exe
“0x77d1ebc”指令引用的‘0x77d1ebc’内存。该内存不能为“written”.
...全文
273 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujun22 2005-11-06
  • 打赏
  • 举报
回复
没有哪个严重吧,我的机子也有时出现这个情况,你把内存条在重插一下看看.
wyjyx 2005-11-06
  • 打赏
  • 举报
回复
我曾经遇到过一回 是内存问题
建议先用内存检查工具查一下内存看
如果不是内存有错误的话
在考虑软件方面的
yyw84 2005-11-06
  • 打赏
  • 举报
回复
这个网站的资料太多了,楼主大可在搜索引擎中找到答案
http://www.baidu.com/s?tn=sitehao123&cl=3&rn=10&ct=0&lm=0&word=%B8%C3%C4%DA%B4%E6%B2%BB%C4%DC%CE%AA
fiore 2005-11-06
  • 打赏
  • 举报
回复
关注
自己做的基于单片机的密码锁设计(c语言设计) 系统说明 该系统如图所示使用了80C51单片机、普通键盘、排阻、1602液晶。 该系统的功能: ①该系统输入正确的密码LED灯会亮(其实就是很多操作都可以,用LED只是代表作用,主要是操作简单,效果明显。) ②系统可以修改密码;(系统断电后重启后必须用初始密码(初始密码是:000000)重新改密,当然修改的密码可以与掉电前的一样。)http://www.elecfans.com/member/article_add.php 具体操作: ①系统开机时显示请输入密码的提示,直接输入密码#键确认 ②系统会自动提醒密码错误,数秒后系统会再次提醒重新输密码。 ③在系统提醒输入密码的界面可以按*键修改密码,系统会提醒输入两次密码,并且会检查两次密码是否相同。同则修改成功。否则在数秒后可以重新按*键修改。 ④在改密前(就是按了*键后系统)会提醒身份识别,请输入旧密码,系统判断旧密码正确方可更改密码。 源程序 #include #define uchar unsigned char #define uint unsigned int sbit lcdrs=P3^0; sbit lcdrw=P3^1; sbit lcden=P3^2; sbit h1=P1^0; sbit h2=P1^1; sbit h3=P1^2; sbit sa=P1^3; sbit sb=P1^4; sbit sc=P1^5; sbit sd=P1^6; sbit kd=P3^7; uchar code table[]=" PLEASE INPUT "; uchar code table1[]="CODE: "; uchar code table2[]=" *****WIN*****"; uchar code table3[]=" PLEASE AFFIRM"; uchar code table4[]=" *****FAIL*****"; uchar code table5[]=" MODIFICATION"; uchar code table6[]=" IDENTITY LIMITS "; uchar unm,M1,M2,M3,M4,M5,M6,sex,k1,k2,k3,k4,k5,k6,flge,flge1; uchar q1,q2,q3,q4,q5,q6,w1,w2,w3,w4,w5,w6,g; void delay(int z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay1(int z) { int x,y; for(x=z;x>0;x--) for(y=20000;y>0;y--); } void writen_com(uchar com) //1602写命令 { lcdrs=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; } void writen_dat(uchar dat) //1602写数据 { lcdrs=1; P0=dat; delay(1); lcden=1; delay(1); lcden=0; } void main(); void cheak_mima() //检查第二次确认密码是否与第一次相同 { if(q1==w1) { if(q2==w2) { if(q3==w3) { if(q4==w4) { if(q5==w5) { if(q6==w6) { writen_com(0x01); writen_com(0x0f); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table5[unm]); delay(5); } writen_com(0x80+0x40+1); for(unm=0;unm<14;unm++) { writen_dat(table2[unm]); delay(5); } M1=w1; M2=w2; M3=w3; M4=w4; M5=w5; M6=w6; delay1(6); main(); } /*-----------------------------------*/ //密码确认错误返回 writen_com(0x01); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } /*------------------------------------*/ //第二次确认密码 void affirm_code() { P1=0x07; if(P1!=0x07) delay(1); if(P1!=0x07) { P1=0x77; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=1;break; case 1:w2=1;break; case 2:w3=1;break; case 3:w4=1;break; case 4:w5=1;break; case 5:w6=1;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=2;break; case 1:w2=2;break; case 2:w3=2;break; case 3:w4=2;break; case 4:w5=2;break; case 5:w6=2;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=3;break; case 1:w2=3;break; case 2:w3=3;break; case 3:w4=3;break; case 4:w5=3;break; case 5:w6=3;break; } sex++; } } /*-------------------------------*/ P1=0x6f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=4;break; case 1:w2=4;break; case 2:w3=4;break; case 3:w4=4;break; case 4:w5=4;break; case 5:w6=4;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=5;break; case 1:w2=5;break; case 2:w3=5;break; case 3:w4=5;break; case 4:w5=5;break; case 5:w6=5;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=6;break; case 1:w2=6;break; case 2:w3=6;break; case 3:w4=6;break; case 4:w5=6;break; case 5:w6=6;break; } sex++; } } /*--------------------------------*/ P1=0x5f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=7;break; case 1:w2=7;break; case 2:w3=7;break; case 3:w4=7;break; case 4:w5=7;break; case 5:w6=7;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=8;break; case 1:w2=8;break; case 2:w3=8;break; case 3:w4=8;break; case 4:w5=8;break; case 5:w6=8;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=9;break; case 1:w2=9;break; case 2:w3=9;break; case 3:w4=9;break; case 4:w5=9;break; case 5:w6=9;break; } sex++; } } /*-----------------------------------*/ P1=0x3f; if(h2==0) //0键扫描 { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:w1=0;break; case 1:w2=0;break; case 2:w3=0;break; case 3:w4=0;break; case 4:w5=0;break; case 5:w6=0;break; } sex++; } } if(h3==0) //#键扫描 { delay(1); if(h3==0) { while(!h3); while(!flge1) cheak_mima(); } } } } /*--------------------------------------*/ //修改密码 void set_mima() { P1=0x07; if(P1!=0x07) delay(1); if(P1!=0x07) { P1=0x77; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=1;break; case 1:q2=1;break; case 2:q3=1;break; case 3:q4=1;break; case 4:q5=1;break; case 5:q6=1;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=2;break; case 1:q2=2;break; case 2:q3=2;break; case 3:q4=2;break; case 4:q5=2;break; case 5:q6=2;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=3;break; case 1:q2=3;break; case 2:q3=3;break; case 3:q4=3;break; case 4:q5=3;break; case 5:q6=3;break; } sex++; } } P1=0x6f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=4;break; case 1:q2=4;break; case 2:q3=4;break; case 3:q4=4;break; case 4:q5=4;break; case 5:q6=4;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=5;break; case 1:q2=5;break; case 2:q3=5;break; case 3:q4=5;break; case 4:q5=5;break; case 5:q6=5;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=6;break; case 1:q2=6;break; case 2:q3=6;break; case 3:q4=6;break; case 4:q5=6;break; case 5:q6=6;break; } sex++; } } P1=0x5f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=7;break; case 1:q2=7;break; case 2:q3=7;break; case 3:q4=7;break; case 4:q5=7;break; case 5:q6=7;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=8;break; case 1:q2=8;break; case 2:q3=8;break; case 3:q4=8;break; case 4:q5=8;break; case 5:q6=8;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=9;break; case 1:q2=9;break; case 2:q3=9;break; case 3:q4=9;break; case 4:q5=9;break; case 5:q6=9;break; } sex++; } } P1=0x3f; if(h2==0) //0键扫描 { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:q1=0;break; case 1:q2=0;break; case 2:q3=0;break; case 3:q4=0;break; case 4:q5=0;break; case 5:q6=0;break; } sex++; } } if(h3==0) //#键扫描 { delay(1); if(h3==0) { while(!h3); writen_com(0x01); writen_com(0x0f); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table3[unm]); delay(5); } writen_com(0x80+0x40); for(unm=0;unm<5;unm++) { writen_dat(table1[unm]); delay(5); } sex=0; while(!flge1) affirm_code(); } } } } void init(); void cheak_identity2() { if(k1==M1) { if(k2==M2) { if(k3==M3) { if(k4==M4) { if(k5==M5) { if(k6==M6) { sex=0; init(); while(!flge1) set_mima(); } writen_com(0x01); writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x01); writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } } writen_com(0x01); writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } void cheak_identity() { P1=0x07; if(P1!=0x07) delay(1); if(P1!=0x07) { P1=0x77; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=1;break; case 1:k2=1;break; case 2:k3=1;break; case 3:k4=1;break; case 4:k5=1;break; case 5:k6=1;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=2;break; case 1:k2=2;break; case 2:k3=2;break; case 3:k4=2;break; case 4:k5=2;break; case 5:k6=2;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=3;break; case 1:k2=3;break; case 2:k3=3;break; case 3:k4=3;break; case 4:k5=3;break; case 5:k6=3;break; } sex++; } } /*-------------------------------*/ P1=0x6f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=4;break; case 1:k2=4;break; case 2:k3=4;break; case 3:k4=4;break; case 4:k5=4;break; case 5:k6=4;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=5;break; case 1:k2=5;break; case 2:k3=5;break; case 3:k4=5;break; case 4:k5=5;break; case 5:k6=5;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=6;break; case 1:k2=6;break; case 2:k3=6;break; case 3:k4=6;break; case 4:k5=6;break; case 5:k6=6;break; } sex++; } } /*--------------------------------*/ P1=0x5f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=7;break; case 1:k2=7;break; case 2:k3=7;break; case 3:k4=7;break; case 4:k5=7;break; case 5:k6=7;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=8;break; case 1:k2=8;break; case 2:k3=8;break; case 3:k4=8;break; case 4:k5=8;break; case 5:k6=8;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=9;break; case 1:k2=9;break; case 2:k3=9;break; case 3:k4=9;break; case 4:k5=9;break; case 5:k6=9;break; } sex++; } } /*-----------------------------------*/ P1=0x3f; if(h2==0) //0键扫描 { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=0;break; case 1:k2=0;break; case 2:k3=0;break; case 3:k4=0;break; case 4:k5=0;break; case 5:k6=0;break; } sex++; } } if(h3==0) //#键扫描 { delay(1); if(h3==0) { while(!h3); while(!flge1) cheak_identity2(); } } } } /*---------------------------------------*/ //键盘扫描 void keyscan() { P1=0x07; if(P1!=0x07) delay(1); if(P1!=0x07) { P1=0x77; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=1;break; case 1:k2=1;break; case 2:k3=1;break; case 3:k4=1;break; case 4:k5=1;break; case 5:k6=1;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=2;break; case 1:k2=2;break; case 2:k3=2;break; case 3:k4=2;break; case 4:k5=2;break; case 5:k6=2;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=3;break; case 1:k2=3;break; case 2:k3=3;break; case 3:k4=3;break; case 4:k5=3;break; case 5:k6=3;break; } sex++; } } /*-------------------------------*/ P1=0x6f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=4;break; case 1:k2=4;break; case 2:k3=4;break; case 3:k4=4;break; case 4:k5=4;break; case 5:k6=4;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=5;break; case 1:k2=5;break; case 2:k3=5;break; case 3:k4=5;break; case 4:k5=5;break; case 5:k6=5;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=6;break; case 1:k2=6;break; case 2:k3=6;break; case 3:k4=6;break; case 4:k5=6;break; case 5:k6=6;break; } sex++; } } /*--------------------------------*/ P1=0x5f; if(h1==0) { delay(1); if(h1==0) { while(!h1); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=7;break; case 1:k2=7;break; case 2:k3=7;break; case 3:k4=7;break; case 4:k5=7;break; case 5:k6=7;break; } sex++; } } if(h2==0) { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=8;break; case 1:k2=8;break; case 2:k3=8;break; case 3:k4=8;break; case 4:k5=8;break; case 5:k6=8;break; } sex++; } } if(h3==0) { delay(1); if(h3==0) { while(!h3); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=9;break; case 1:k2=9;break; case 2:k3=9;break; case 3:k4=9;break; case 4:k5=9;break; case 5:k6=9;break; } sex++; } } /*-----------------------------------*/ P1=0x3f; if(h1==0) //*键扫描 { delay(1); if(h1==0) { while(!h1); writen_com(0x0f); writen_com(0x06); writen_com(0x80); for(unm=0;unm<16;unm++) { writen_dat(table6[unm]); delay(5); } while(!flge1) cheak_identity(); } } if(h2==0) //0键扫描 { delay(1); if(h2==0) { while(!h2); writen_com(0x80+0x45+sex); writen_dat('*'); switch(sex) { case 0:k1=0;break; case 1:k2=0;break; case 2:k3=0;break; case 3:k4=0;break; case 4:k5=0;break; case 5:k6=0;break; } sex++; } } if(h3==0) //#键扫描 { delay(1); if(h3==0) { while(!h3); flge=1; } } } } /*-------------------------------------*/ //密码检查 void init(); void check_code() { if(k1==M1) { if(k2==M2) { if(k3==M3) { if(k4==M4) { if(k5==M5) { if(k6==M6) { writen_com(0x01); kd=0; writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table2[unm]); delay(5); } delay1(6); kd=1; main(); writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } } writen_com(0x0c); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table4[unm]); delay(5); } delay1(6); main(); } void now_mima() { M1=0; M2=0; M3=0; M4=0; M5=0; M6=0; g=0; } void init() { if(g==0) now_mima(); g=1; flge1=0; flge=0; sex=0; lcdrw=0; lcden=0; writen_com(0x01); writen_com(0x38); writen_com(0x0f); writen_com(0x06); writen_com(0x80); for(unm=0;unm<14;unm++) { writen_dat(table[unm]); delay(5); } writen_com(0x80+0x40); for(unm=0;unm<5;unm++) { writen_dat(table1[unm]); delay(5); } } void main() { while(1) { init(); set_mima(); while(!flge) keyscan(); check_code(); } } 电路图请链接:http://user.qzone.qq.com/549116355/infocenter
教程非常不错,价值280元,绝对是干货 Linux网络编程(总共41集) 讲解Linux网络编程知识,分以下四个篇章。 Linux网络编程之TCP/IP基础篇 Linux网络编程之socket编程篇 Linux网络编程之进程间通信篇 Linux网络编程之线程篇 Linux网络编程之TCP/IP基础篇 01TCPIP基础(一) ISO/OSI参考模型 TCP/IP四层模型 基本概念(对等通信、封装、分用、端口) 02TCPIP基础(二) 最大传输单元(MTU)/路径MTU 以太网帧格式 ICMP ARP RARP 03TCPIP基础(三) IP数据报格式 网际校验和 路由 04TCPIP基础(四) TCP特点 TCP报文格式 连接建立三次握手 连接终止四次握手 TCP如何保证可靠性 05TCPIP基础(五) 滑动窗口协议 UDP特点 UDP报文格式 Linux网络编程之socket编程篇 06socket编程(一) 什么是socket IPv4套接口地址结构 网络字节序 字节序转换函数 地址转换函数 套接字类型 07socket编程(二) TCP客户/服务器模型 回射客户/服务器 socket、bind、listen、accept、connect 08socket编程(三) SO_REUSEADDR 处理多客户连接(process-per-conection) 点对点聊天程序实现 09socket编程(四) 流协议与粘包 粘包产生的原因 粘包处理方案 readn writen 回射客户/服务器 10socket编程(五) read、write与recv、send readline实现 用readline实现回射客户/服务器 getsockname、getpeername gethostname、gethostbyname、gethostbyaddr 11socket编程(六) TCP回射客户/服务器 TCP是个流协议 僵进程与SIGCHLD信号 12socket编程(七) TCP 11种状态 连接建立三次握手、连接终止四次握手 TIME_WAIT与SO_REUSEADDR SIGPIPE 13socket编程(八) 五种I/O模型 select 用select改进回射客户端程序 14socket编程(九) select 读、写、异常事件发生条件 用select改进回射服务器程序。 15socket编程(十) 用select改进第八章点对点聊天程序 16socket编程(十一) 套接字I/O超时设置方法 用select实现超时 read_timeout函数封装 write_timeout函数封装 accept_timeout函数封装 connect_timeout函数封装 17socket编程(十二) select限制 poll 18socket编程(十三) epoll使用 epoll与select、poll区别 epoll LT/ET模式 19socket编程(十四) UDP特点 UDP客户/服务基本模型 UDP回射客户/服务器 UDP注意点 20socket编程(十五) udp聊天室实现 21socket编程(十六) UNIX域协议特点 UNIX域地址结构 UNIX域字节流回射客户/服务 UNIX域套接字编程注意点 22socket编程(十七) socketpair sendmsg/recvmsg UNIX域套接字传递描述符字 Linux网络编程之进程间通信篇 23进程间通信介绍(一) 进程同步与进程互斥 进程间通信目的 进程间通信发展 进程间通信分类 进程间共享信息的三种方式 IPC对象的持续性 24进程间通信介绍(二) 死锁 信号量 PV原语 用PV原语解决司机与售票员问题 用PV原语解决民航售票问题 用PV原语解决汽车租赁问题 25System V消息队列(一) 消息队列 IPC对象数据结构 消息队列结构 消息队列在内核中的表示 消息队列函数 26System V消息队列(二) msgsnd函数 msgrcv函数 27System V消息队列(三) 消息队列实现回射客户/服务器 28共享内存介绍 共享内存 共享内存示意图 管道、消息队列与共享内存传递数据对比 mmap函数 munmap函数 msync函数 29System V共享内存 共享内存数据结构 共享内存函数 共享内存示例 30System V信号量(一) 信号量 信号量集结构 信号量集函数 信号量示例 31System V信号量(二) 用信号量实现进程互斥示例 32System V信号量(三) 用信号集解决哲学家就餐问题 33System V共享内存与信号量综合 用信号量解决生产者消费者问题 实现shmfifo 34POSIX消息队列 POSIX消息队列相关函数 POSIX消息队列示例 35POSIX共享内存 POSIX共享内存相关函数 POSIX共享内存示例 Linux网络编程之线程篇 36线程介绍 什么是线程 进程与线程 线程优缺点 线程模型 N:1用户线程模型 1:1核心线程模型 N:M混合线程模型 37POSIX线程(一) POSIX线程库相关函数 用线程实现回射客户/服务器 38POSIX线程(二) 线程属性 线程特定数据 39POSIX信号量与互斥锁 POSIX信号量相关函数 POSIX互斥锁相关函数 生产者消费者问题 自旋锁与读写锁介绍 40POSIX条件变量 条件变量 条件变量函数 条件变量使用规范 使用条件变量解决生产者消费者问题 41一个简单的线程池实现 线程池性能分析 线程池实现 网络编程, Linux, 密码

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧